Skip to content

Commit 6d16558

Browse files
committed
Editor: Better UX for renaming scripts/effects.
1 parent c413398 commit 6d16558

File tree

4 files changed

+28
-26
lines changed

4 files changed

+28
-26
lines changed

js/Code.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,27 @@ function Code( editor ) {
1919
container.add( header );
2020

2121
var title = new UIText().setColor( '#fff' );
22+
title.dom.contentEditable = true;
23+
title.dom.style.cursor = 'text';
24+
title.dom.style.outline = 'none';
25+
title.dom.addEventListener( 'keydown', function ( event ) {
26+
event.stopPropagation();
27+
if ( event.key === 'Enter' ) {
28+
event.preventDefault();
29+
this.blur();
30+
}
31+
} );
32+
title.dom.addEventListener( 'blur', function ( event ) {
33+
event.stopPropagation();
34+
if ( currentEffect !== null ) {
35+
currentEffect.name = this.textContent;
36+
editor.signals.effectRenamed.dispatch( currentEffect );
37+
}
38+
if ( currentScript !== null ) {
39+
currentScript.name = this.textContent;
40+
editor.signals.scriptRenamed.dispatch( currentScript );
41+
}
42+
} );
2243
header.add( title );
2344

2445
var buttonSVG = ( function () {

js/Editor.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@ function Editor() {
2222
// scripts
2323

2424
scriptAdded: new Signal(),
25-
scriptSelected: new Signal(),
26-
scriptChanged: new Signal(),
2725
scriptRemoved: new Signal(),
26+
scriptRenamed: new Signal(),
27+
scriptChanged: new Signal(),
28+
scriptSelected: new Signal(),
2829
scriptsCleared: new Signal(),
2930

3031
// effects
3132

3233
effectAdded: new Signal(),
33-
effectRenamed: new Signal(),
3434
effectRemoved: new Signal(),
35+
effectRenamed: new Signal(),
3536
effectSelected: new Signal(),
3637
effectCompiled: new Signal(),
3738

@@ -235,7 +236,7 @@ Editor.prototype = {
235236

236237
createScript: function () {
237238

238-
this.scripts.push( new Code( { name: '', source: '' } ) );
239+
this.scripts.push( new Code( { name: 'Unnamed', source: '' } ) );
239240
this.signals.scriptAdded.dispatch();
240241

241242
},

js/SidebarAnimation.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -277,28 +277,6 @@ function SidebarAnimation( editor ) {
277277
} );
278278
row.add( effectsSelect );
279279

280-
var edit = new UIButton( 'EDIT' ).setMarginLeft( '8px' );
281-
edit.onClick( function () {
282-
283-
editor.selectEffect( selected.effect );
284-
285-
} );
286-
row.add( edit );
287-
288-
289-
var row = new UIRow();
290-
row.add( new UIText( 'Name' ).setWidth( '90px' ) );
291-
container.add( row );
292-
293-
var effectName = new UIInput( selected.effect.name );
294-
effectName.onChange( function () {
295-
296-
selected.effect.name = this.getValue();
297-
signals.effectRenamed.dispatch( selected.effect );
298-
299-
} );
300-
row.add( effectName );
301-
302280
//
303281

304282
var parameters = selected.effect.program.parameters;

js/SidebarProject.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,11 @@ function SidebarProject( editor ) {
216216
signals.editorCleared.add( update );
217217

218218
signals.scriptAdded.add( updateScripts );
219+
signals.scriptRenamed.add( updateScripts );
219220
signals.scriptRemoved.add( updateScripts );
220221

221222
signals.effectAdded.add( updateEffects );
223+
signals.effectRenamed.add( updateEffects );
222224
signals.effectRemoved.add( updateEffects );
223225

224226
return container;

0 commit comments

Comments
 (0)