Skip to content

Commit 605188a

Browse files
committed
Fixing bug with file renaming
1 parent 93d8981 commit 605188a

File tree

4 files changed

+26
-30
lines changed

4 files changed

+26
-30
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "MicroPython_lab",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"description": "Arduino's MicroPython Lab IDE",
55
"main": "index.js",
66
"scripts": {

ui/arduino/components/editor.js

+21-20
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
function Editor(state, emit) {
2-
function editFilename() {
3-
emit('start-editing-filename')
4-
}
5-
let filename = html`
6-
<div
7-
onclick=${editFilename}
8-
>
9-
${state.selectedFile || 'undefined'}
10-
</div>
11-
`
2+
// File icon: disk or board
123
let fileIcon = 'icons/Open.svg'
134
if (state.isConnected && state.selectedDevice === 'serial') {
145
fileIcon = 'icons/Connect.svg'
156
}
16-
if (state.isEditingFilename) {
17-
function saveFileName(e) {
18-
emit('save-filename', e.target.value)
7+
// Filename input
8+
function onBlur(e) {
9+
emit('save-filename', e.target.value)
10+
}
11+
function onKeyDown(e) {
12+
if(e.key.toLowerCase() === 'enter') {
13+
e.target.blur()
1914
}
20-
filename = html`
21-
<input
22-
type="text"
23-
value=${state.selectedFile || 'undefined'}
24-
onchange=${saveFileName}
25-
/>
26-
`
2715
}
16+
/*
17+
XXX: If this input is blurred because person clicked on another serial file,
18+
it triggers both a `save-filename` and a `select-file` event and
19+
filesystem panel will act up. It will require only re-opening it.
20+
*/
21+
let filename = html`
22+
<input
23+
type="text"
24+
value=${state.selectedFile || 'undefined'}
25+
onblur=${onBlur}
26+
onkeydown=${onKeyDown}
27+
/>
28+
`
2829
return html`
2930
<div class="editor-filename">
3031
${Icon(fileIcon)}

ui/arduino/store.js

-9
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ function store(state, emitter) {
1717
state.isPortDialogOpen = false
1818
state.isTerminalOpen = false
1919
state.isFilesOpen = false
20-
state.isEditingFilename = false
2120
state.isTerminalBound = false
2221

2322
// SERIAL CONNECTION
@@ -201,15 +200,9 @@ function store(state, emitter) {
201200
})
202201

203202
// NAMING/RENAMING FILE
204-
emitter.on('start-editing-filename', () => {
205-
log('start-editing-filename')
206-
state.isEditingFilename = true
207-
emitter.emit('render')
208-
})
209203
emitter.on('save-filename', async (filename) => {
210204
log('save-filename', filename)
211205
let oldFilename = state.selectedFile
212-
state.isEditingFilename = false
213206
state.selectedFile = filename
214207

215208
let editor = state.cache(AceEditor, 'editor').editor
@@ -240,10 +233,8 @@ function store(state, emitter) {
240233
emitter.emit('render')
241234
})
242235

243-
244236
window.addEventListener('resize', () => {
245237
console.log('resize window')
246238
state.cache(AceEditor, 'editor').render()
247239
})
248-
249240
}

ui/arduino/theme.css

+4
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ img {
163163
max-height: 100%;
164164
padding: 0.5rem;
165165
}
166+
.editor-filename input {
167+
width: 100%;
168+
border: none;
169+
}
166170

167171
/* PANEL */
168172
#panel {

0 commit comments

Comments
 (0)