mirror of
https://github.com/dancojocaru2000/logic-circuits-simulator.git
synced 2025-02-22 09:09:35 +02:00
Warn user when project/component name exists
This commit is contained in:
parent
be6e8c9002
commit
e4041020f1
2 changed files with 10 additions and 4 deletions
|
@ -20,7 +20,7 @@ class NewProjectDialog extends HookWidget {
|
|||
final newProjectAction = useMemoized(() {
|
||||
if (newDialogNameController.text.isEmpty) return null;
|
||||
return () {
|
||||
projectsState.newProject(newDialogNameController.text);
|
||||
projectsState.newProject(newDialogNameController.text.trim());
|
||||
Navigator.pop(context);
|
||||
};
|
||||
}, [newDialogNameController.text]);
|
||||
|
@ -217,6 +217,9 @@ class NewProjectDialog extends HookWidget {
|
|||
icon: const Icon(Icons.done),
|
||||
onPressed: newProjectAction,
|
||||
),
|
||||
errorText: projectsState.projects.map((p) => p.projectName).contains(newDialogNameController.text.trim())
|
||||
? 'A project with the same name already exists'
|
||||
: null,
|
||||
),
|
||||
onSubmitted: newProjectAction == null ? null : (_) => newProjectAction(),
|
||||
),
|
||||
|
|
|
@ -168,9 +168,12 @@ class EditComponentPage extends HookWidget {
|
|||
sliver: SliverToBoxAdapter(
|
||||
child: TextField(
|
||||
controller: componentNameEditingController,
|
||||
decoration: const InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
decoration: InputDecoration(
|
||||
border: const OutlineInputBorder(),
|
||||
labelText: 'Component name',
|
||||
errorText: projectState.index.components.where((c) => c.componentId != ce().componentId).map((c) => c.componentName).contains(componentNameEditingController.text.trim())
|
||||
? 'A component with the same name already exists'
|
||||
: null,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -577,7 +580,7 @@ class EditComponentPage extends HookWidget {
|
|||
floatingActionButton: !dirty ? null : FloatingActionButton(
|
||||
onPressed: () async {
|
||||
if (componentNameEditingController.text.isNotEmpty) {
|
||||
await projectState.editComponent(ce().copyWith(componentName: componentNameEditingController.text));
|
||||
await projectState.editComponent(ce().copyWith(componentName: componentNameEditingController.text.trim()));
|
||||
}
|
||||
await projectState.editComponent(ce().copyWith(
|
||||
inputs: inputs.value,
|
||||
|
|
Loading…
Add table
Reference in a new issue