Alphabetically sort the forms in the select list.
authorRobert Sesek <rsesek@bluestatic.org>
Sun, 19 Jul 2020 22:20:06 +0000 (18:20 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Sun, 19 Jul 2020 22:20:06 +0000 (18:20 -0400)
src/TaxReturnView.tsx

index c8e3291caa2c89c95e79e4266543ec2d90b2669c..ece241cfee03ae1b57c00d273fbb374368f2b3ba 100644 (file)
@@ -22,15 +22,25 @@ export default function TaxReturnView(props: Props) {
     setState({ form: props.tr.forms[e.target.value] });
   };
 
-  const formIndexToName = createMemo(() => props.tr.forms.map((form, i) => {
-    let name = form.name;
-    const person = form.person();
-    if (person !== undefined) {
-      const personName = person === Person.joint ? 'Joint' : person.name;
-      name += ` (${personName})`;
-    }
-    return [i, name];
-  }));
+  const formIndexToName = createMemo(() => {
+    let forms = props.tr.forms.map((form, i) => {
+      let name = form.name;
+      const person = form.person();
+      if (person !== undefined) {
+        const personName = person === Person.joint ? 'Joint' : person.name;
+        name += ` (${personName})`;
+      }
+      return [i, name];
+    });
+    forms.sort((a, b) => {
+      if (a[1] < b[1])
+        return -1;
+      if (a[1] > b[1])
+        return 1;
+      return 0;
+    });
+    return forms;
+  });
 
   const formSelector = (
     <select onchange={changeForm}>