@@ -44,8 +44,8 @@ import {pythonGenerator} from 'blockly/python';
4444
4545import BlocklyComponent from './Blockly' ;
4646
47- import { NewProjectNameModalProps , NewProjectNameModal } from './modal/NewProjectNameModal' ;
48- import { NewModuleNameModalProps , NewModuleNameModal } from './modal/NewModuleNameModal' ;
47+ import { NewProjectNameModal } from './modal/NewProjectNameModal' ;
48+ import { NewModuleNameModal } from './modal/NewModuleNameModal' ;
4949
5050import * as CustomBlocks from './blocks/setup_custom_blocks' ;
5151import { initialize as initializeGeneratedBlocks } from './blocks/utils/generated/initialize' ;
@@ -95,10 +95,12 @@ const App: React.FC = () => {
9595 const [ newProjectNameModalPurpose , setNewProjectNameModalPurpose ] = useState ( '' ) ;
9696 const [ newProjectNameModalInitialValue , setNewProjectNameModalInitialValue ] = useState ( '' ) ;
9797 const [ newProjectNameModalTitle , setNewProjectNameModalTitle ] = useState ( '' ) ;
98+ const [ newProjectNameModalMessage , setNewProjectNameModalMessage ] = useState ( '' ) ;
9899 const [ newProjectNameModalIsOpen , setNewProjectNameModalIsOpen ] = useState ( false ) ;
99100 const [ newModuleNameModalPurpose , setNewModuleNameModalPurpose ] = useState ( '' ) ;
100101 const [ newModuleNameModalInitialValue , setNewModuleNameModalInitialValue ] = useState ( '' ) ;
101102 const [ newModuleNameModalTitle , setNewModuleNameModalTitle ] = useState ( '' ) ;
103+ const [ newModuleNameModalExample , setNewModuleNameModalExample ] = useState ( '' ) ;
102104 const [ newModuleNameModalIsOpen , setNewModuleNameModalIsOpen ] = useState ( false ) ;
103105 const [ toolboxSettingsModalIsOpen , setToolboxSettingsModalIsOpen ] = useState ( false ) ;
104106 const [ popconfirmTitle , setPopconfirmTitle ] = useState ( '' ) ;
@@ -192,7 +194,8 @@ const App: React.FC = () => {
192194 if ( array . length === 0 ) {
193195 setNewProjectNameModalPurpose ( PURPOSE_NEW_PROJECT ) ;
194196 setNewProjectNameModalInitialValue ( '' ) ;
195- setNewProjectNameModalTitle ( 'Welcome to WPILib Blocks!' ) ;
197+ setNewProjectNameModalTitle ( NewProjectNameModal . TITLE_WELCOME ) ;
198+ setNewProjectNameModalMessage ( NewProjectNameModal . MESSAGE_WELCOME ) ;
196199 setNewProjectNameModalIsOpen ( true ) ;
197200 }
198201 } ;
@@ -242,7 +245,7 @@ const App: React.FC = () => {
242245 }
243246 const child : TreeDataNode = {
244247 key : mechanism . modulePath ,
245- title : mechanism . moduleName ,
248+ title : mechanism . className ,
246249 icon : < MechanismOutlined /> ,
247250 } ;
248251 children . push ( child ) ;
@@ -256,7 +259,7 @@ const App: React.FC = () => {
256259 }
257260 const child : TreeDataNode = {
258261 key : opMode . modulePath ,
259- title : opMode . moduleName ,
262+ title : opMode . className ,
260263 icon : < OpModeOutlined /> ,
261264 } ;
262265 children . push ( child ) ;
@@ -432,7 +435,8 @@ const App: React.FC = () => {
432435 checkIfBlocksWereModified ( ( ) => {
433436 setNewProjectNameModalPurpose ( PURPOSE_NEW_PROJECT ) ;
434437 setNewProjectNameModalInitialValue ( '' ) ;
435- setNewProjectNameModalTitle ( 'New Project' ) ;
438+ setNewProjectNameModalTitle ( NewProjectNameModal . TITLE_NEW_PROJECT ) ;
439+ setNewProjectNameModalMessage ( '' ) ;
436440 setNewProjectNameModalIsOpen ( true ) ;
437441 } ) ;
438442 } ;
@@ -457,8 +461,7 @@ const App: React.FC = () => {
457461 const newProjectName = commonStorage . classNameToModuleName ( newProjectClassName ) ;
458462 const newProjectPath = commonStorage . makeProjectPath ( newProjectName ) ;
459463 if ( newProjectNameModalPurpose === PURPOSE_NEW_PROJECT ) {
460- const projectContent = commonStorage . newProjectContent (
461- newProjectClassName , newProjectName , newProjectPath ) ;
464+ const projectContent = commonStorage . newProjectContent ( newProjectName ) ;
462465 try {
463466 await storage . createModule (
464467 commonStorage . MODULE_TYPE_PROJECT , newProjectPath , projectContent ) ;
@@ -503,7 +506,8 @@ const App: React.FC = () => {
503506 checkIfBlocksWereModified ( ( ) => {
504507 setNewModuleNameModalPurpose ( PURPOSE_NEW_MECHANISM ) ;
505508 setNewModuleNameModalInitialValue ( '' ) ;
506- setNewModuleNameModalTitle ( 'New Mechanism' ) ;
509+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_NEW_MECHANISM ) ;
510+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_MECHANISM ) ;
507511 setNewModuleNameModalIsOpen ( true ) ;
508512 } ) ;
509513 } ;
@@ -512,7 +516,8 @@ const App: React.FC = () => {
512516 checkIfBlocksWereModified ( ( ) => {
513517 setNewModuleNameModalPurpose ( PURPOSE_NEW_OPMODE ) ;
514518 setNewModuleNameModalInitialValue ( '' ) ;
515- setNewModuleNameModalTitle ( 'New OpMode' ) ;
519+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_NEW_OPMODE ) ;
520+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_OPMODE ) ;
516521 setNewModuleNameModalIsOpen ( true ) ;
517522 } ) ;
518523 } ;
@@ -524,24 +529,25 @@ const App: React.FC = () => {
524529 } ;
525530
526531 // Provide a callback so the NewModuleNameModal will know what the existing
527- // module names are in the current project.
528- const getModuleNames = ( projectName : string ) : string [ ] => {
529- const moduleNames : string [ ] = [ ] ;
532+ // module class names are in the current project.
533+ const getModuleClassNames = ( projectName : string ) : string [ ] => {
534+ const moduleClassNames : string [ ] = [ ] ;
530535 for ( const project of modules ) {
531536 if ( project . projectName === projectName ) {
532537 project . mechanisms . forEach ( ( mechanism ) => {
533- moduleNames . push ( mechanism . moduleName ) ;
538+ moduleClassNames . push ( mechanism . className ) ;
534539 } ) ;
535540 project . opModes . forEach ( ( opMode ) => {
536- moduleNames . push ( opMode . moduleName ) ;
541+ moduleClassNames . push ( opMode . className ) ;
537542 } ) ;
538543 break ;
539544 }
540545 }
541- return moduleNames ;
546+ return moduleClassNames ;
542547 } ;
543548
544- const handleNewModuleNameOk = async ( newModuleName : string ) => {
549+ const handleNewModuleNameOk = async ( newModuleClassName : string ) => {
550+ const newModuleName = commonStorage . classNameToModuleName ( newModuleClassName ) ;
545551 const newModulePath = commonStorage . makeModulePath ( currentModule . projectName , newModuleName ) ;
546552 if ( newModuleNameModalPurpose === PURPOSE_NEW_MECHANISM ) {
547553 const mechanismContent = commonStorage . newMechanismContent (
@@ -631,19 +637,22 @@ const App: React.FC = () => {
631637 // This is a Project.
632638 setNewProjectNameModalPurpose ( PURPOSE_RENAME_PROJECT ) ;
633639 setNewProjectNameModalInitialValue ( currentModule . projectName ) ;
634- setNewProjectNameModalTitle ( 'Rename Project' ) ;
640+ setNewProjectNameModalTitle ( NewProjectNameModal . TITLE_RENAME_PROJECT ) ;
641+ setNewProjectNameModalMessage ( '' ) ;
635642 setNewProjectNameModalIsOpen ( true ) ;
636643 } else if ( currentModule . moduleType == commonStorage . MODULE_TYPE_MECHANISM ) {
637644 // This is a Mechanism.
638645 setNewModuleNameModalPurpose ( PURPOSE_RENAME_MODULE ) ;
639646 setNewModuleNameModalInitialValue ( currentModule . moduleName ) ;
640- setNewModuleNameModalTitle ( 'Rename Mechanism' ) ;
647+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_RENAME_MECHANISM ) ;
648+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_MECHANISM ) ;
641649 setNewModuleNameModalIsOpen ( true ) ;
642650 } else if ( currentModule . moduleType == commonStorage . MODULE_TYPE_OPMODE ) {
643651 // This is an OpMode.
644652 setNewModuleNameModalPurpose ( PURPOSE_RENAME_MODULE ) ;
645653 setNewModuleNameModalInitialValue ( currentModule . moduleName ) ;
646- setNewModuleNameModalTitle ( 'Rename OpMode' ) ;
654+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_RENAME_OPMODE ) ;
655+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_OPMODE ) ;
647656 setNewModuleNameModalIsOpen ( true ) ;
648657 }
649658 } ) ;
@@ -658,19 +667,22 @@ const App: React.FC = () => {
658667 // This is a Project.
659668 setNewProjectNameModalPurpose ( PURPOSE_COPY_PROJECT ) ;
660669 setNewProjectNameModalInitialValue ( currentModule . projectName + '_copy' ) ;
661- setNewProjectNameModalTitle ( 'Copy Project' ) ;
670+ setNewProjectNameModalTitle ( NewProjectNameModal . TITLE_COPY_PROJECT ) ;
671+ setNewProjectNameModalMessage ( '' ) ;
662672 setNewProjectNameModalIsOpen ( true ) ;
663673 } else if ( currentModule . moduleType == commonStorage . MODULE_TYPE_MECHANISM ) {
664674 // This is a Mechanism.
665675 setNewModuleNameModalPurpose ( PURPOSE_COPY_MODULE ) ;
666676 setNewModuleNameModalInitialValue ( currentModule . moduleName + '_copy' ) ;
667- setNewModuleNameModalTitle ( 'Copy Mechanism' ) ;
677+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_COPY_MECHANISM ) ;
678+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_MECHANISM ) ;
668679 setNewModuleNameModalIsOpen ( true ) ;
669680 } else if ( currentModule . moduleType == commonStorage . MODULE_TYPE_OPMODE ) {
670681 // This is an OpMode.
671682 setNewModuleNameModalPurpose ( PURPOSE_COPY_MODULE ) ;
672683 setNewModuleNameModalInitialValue ( currentModule . moduleName + '_copy' ) ;
673- setNewModuleNameModalTitle ( 'Copy OpMode' ) ;
684+ setNewModuleNameModalTitle ( NewModuleNameModal . TITLE_COPY_OPMODE ) ;
685+ setNewModuleNameModalExample ( NewModuleNameModal . EXAMPLE_OPMODE ) ;
674686 setNewModuleNameModalIsOpen ( true ) ;
675687 }
676688 } ) ;
@@ -1086,6 +1098,7 @@ const App: React.FC = () => {
10861098
10871099 < NewProjectNameModal
10881100 title = { newProjectNameModalTitle }
1101+ message = { newProjectNameModalMessage }
10891102 isOpen = { newProjectNameModalIsOpen }
10901103 initialValue = { newProjectNameModalInitialValue }
10911104 getProjectClassNames = { getProjectClassNames }
@@ -1097,10 +1110,11 @@ const App: React.FC = () => {
10971110 />
10981111 < NewModuleNameModal
10991112 title = { newModuleNameModalTitle }
1113+ example = { newModuleNameModalExample }
11001114 isOpen = { newModuleNameModalIsOpen }
11011115 initialValue = { newModuleNameModalInitialValue }
11021116 getCurrentProjectName = { getCurrentProjectName }
1103- getModuleNames = { getModuleNames }
1117+ getModuleClassNames = { getModuleClassNames }
11041118 onOk = { ( newName ) => {
11051119 setNewModuleNameModalIsOpen ( false ) ;
11061120 handleNewModuleNameOk ( newName ) ;
0 commit comments