Browse Source

Warn user when project/component name exists

master
Kenneth Bruen 2 years ago
parent
commit
e4041020f1
Signed by: kbruen
GPG Key ID: C1980A470C3EE5B1
  1. 5
      lib/dialogs/new_project.dart
  2. 9
      lib/pages/edit_component.dart

5
lib/dialogs/new_project.dart

@ -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(),
),

9
lib/pages/edit_component.dart

@ -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…
Cancel
Save