Skip to content

Commit 35b6f1a

Browse files
authored
feat: add hidden file (#17)
1 parent 7e63511 commit 35b6f1a

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/editor/FileSelector.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ const pendingFilename = ref('Comp.vue')
99
const importMapFile = 'import-map.json'
1010
const showImportMap = inject('import-map') as Ref<boolean>
1111
const files = computed(() =>
12-
Object.keys(store.state.files).filter((f) => f !== importMapFile)
12+
Object.entries(store.state.files)
13+
.filter(([name, file]) => name !== importMapFile && !file.hidden)
14+
.map(([name]) => name)
1315
)
1416
1517
function startAddFile() {

src/store.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@ const msg = ref('Hello World!')
2727
export class File {
2828
filename: string
2929
code: string
30+
hidden: boolean
3031
compiled = {
3132
js: '',
3233
css: '',
3334
ssr: ''
3435
}
3536

36-
constructor(filename: string, code = '') {
37+
constructor(filename: string, code = '', hidden = false) {
3738
this.filename = filename
3839
this.code = code
40+
this.hidden = hidden
3941
}
4042
}
4143

@@ -129,9 +131,15 @@ export class ReplStore implements Store {
129131
this.state.activeFile = this.state.files[filename]
130132
}
131133

132-
addFile(filename: string) {
133-
this.state.files[filename] = new File(filename)
134-
this.setActive(filename)
134+
addFile(filename: string): void
135+
addFile(file: File): void
136+
addFile(fileOrFilename: string | File): void {
137+
const file =
138+
typeof fileOrFilename === 'string'
139+
? new File(fileOrFilename)
140+
: fileOrFilename
141+
this.state.files[file.filename] = file
142+
if (!file.hidden) this.setActive(file.filename)
135143
}
136144

137145
deleteFile(filename: string) {

0 commit comments

Comments
 (0)