mirror of
https://github.com/dancojocaru2000/logic-circuits-simulator.git
synced 2025-02-22 17:19:36 +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(() {
|
final newProjectAction = useMemoized(() {
|
||||||
if (newDialogNameController.text.isEmpty) return null;
|
if (newDialogNameController.text.isEmpty) return null;
|
||||||
return () {
|
return () {
|
||||||
projectsState.newProject(newDialogNameController.text);
|
projectsState.newProject(newDialogNameController.text.trim());
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
};
|
};
|
||||||
}, [newDialogNameController.text]);
|
}, [newDialogNameController.text]);
|
||||||
|
@ -217,6 +217,9 @@ class NewProjectDialog extends HookWidget {
|
||||||
icon: const Icon(Icons.done),
|
icon: const Icon(Icons.done),
|
||||||
onPressed: newProjectAction,
|
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(),
|
onSubmitted: newProjectAction == null ? null : (_) => newProjectAction(),
|
||||||
),
|
),
|
||||||
|
|
|
@ -168,9 +168,12 @@ class EditComponentPage extends HookWidget {
|
||||||
sliver: SliverToBoxAdapter(
|
sliver: SliverToBoxAdapter(
|
||||||
child: TextField(
|
child: TextField(
|
||||||
controller: componentNameEditingController,
|
controller: componentNameEditingController,
|
||||||
decoration: const InputDecoration(
|
decoration: InputDecoration(
|
||||||
border: OutlineInputBorder(),
|
border: const OutlineInputBorder(),
|
||||||
labelText: 'Component name',
|
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(
|
floatingActionButton: !dirty ? null : FloatingActionButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
if (componentNameEditingController.text.isNotEmpty) {
|
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(
|
await projectState.editComponent(ce().copyWith(
|
||||||
inputs: inputs.value,
|
inputs: inputs.value,
|
||||||
|
|
Loading…
Add table
Reference in a new issue