gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (26ee8e3c -> e653fc6f)


From: gnunet
Subject: [taler-wallet-core] branch master updated (26ee8e3c -> e653fc6f)
Date: Mon, 24 Jan 2022 21:33:33 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a change to branch master
in repository wallet-core.

    from 26ee8e3c fix exchange-timetravel test case with latest exchange version
     new 1e1e297d add autocomplete field for #7086
     new e653fc6f fix #7086

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 packages/anastasis-core/src/anastasis-data.ts           |  4 +++-
 packages/anastasis-core/src/reducer-types.ts            |  1 +
 .../src/pages/home/AttributeEntryScreen.stories.tsx     | 17 +++++++++++++++++
 .../src/pages/home/AttributeEntryScreen.tsx             | 17 ++++++++++++++++-
 4 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/packages/anastasis-core/src/anastasis-data.ts 
b/packages/anastasis-core/src/anastasis-data.ts
index c67883a2..924f4103 100644
--- a/packages/anastasis-core/src/anastasis-data.ts
+++ b/packages/anastasis-core/src/anastasis-data.ts
@@ -339,6 +339,7 @@ export const anastasisData = {
           "validation-regex":
             "^(756).[0-9]{4}.[0-9]{4}.[0-9]{2}|(756)[0-9]{10}$",
           "validation-logic": "CH_AHV_check",
+          autocomplete: "???.????.????.??"
         },
       ],
     },
@@ -693,7 +694,8 @@ export const anastasisData = {
           },
           widget: "anastasis_gtk_ia_ssn_us",
           uuid: "310a138c-b0b7-4985-b8b8-d00e765e9f9b",
-          "validation-regex": "^d{3}-d{2}-d{4}$",
+          "validation-regex": "^[0-9]{3}-[0-9]{2}-[0-9]{4}$",
+          autocomplete: "???-??-????",
         },
       ],
     },
diff --git a/packages/anastasis-core/src/reducer-types.ts 
b/packages/anastasis-core/src/reducer-types.ts
index 3e6d6c85..8d375552 100644
--- a/packages/anastasis-core/src/reducer-types.ts
+++ b/packages/anastasis-core/src/reducer-types.ts
@@ -144,6 +144,7 @@ export interface UserAttributeSpec {
   optional?: boolean;
   "validation-regex": string | undefined;
   "validation-logic": string | undefined;
+  autocomplete?: string;
 }
 
 export interface RecoveryInternalData {
diff --git 
a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.stories.tsx 
b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.stories.tsx
index a2ecbd60..85dd836a 100644
--- a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.stories.tsx
+++ b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.stories.tsx
@@ -133,3 +133,20 @@ export const WithAllPosibleWidget = 
createExample(TestedComponent, {
     widget: w,
   })),
 } as ReducerState);
+
+export const WithAutocompleteFeature = createExample(TestedComponent, {
+  ...reducerStatesExample.backupAttributeEditing,
+  required_attributes: [
+    {
+      name: "ahv_number",
+      label: "AHV Number",
+      type: "string",
+      uuid: "asdasdsa1",
+      widget: "wid",
+      "validation-regex":
+        "^(756)\\.[0-9]{4}\\.[0-9]{4}\\.[0-9]{2}|(756)[0-9]{10}$",
+      "validation-logic": "CH_AHV_check",
+      autocomplete: "???.????.????.??",
+    },
+  ],
+} as ReducerState);
diff --git a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx 
b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
index 9c1a93d8..a1f38474 100644
--- a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
+++ b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
@@ -37,12 +37,27 @@ export function AttributeEntryScreen(): VNode {
   const fieldList: VNode[] = reqAttr.map((spec, i: number) => {
     const value = attrs[spec.name];
     const error = checkIfValid(value, spec);
+
+    function addAutocomplete(newValue: string): string {
+      const ac = spec.autocomplete;
+      if (!ac || ac.length < newValue.length || ac[newValue.length] === "?")
+        return newValue;
+
+      if (!value || newValue.length < value.length) {
+        return newValue.slice(0, -1);
+      }
+
+      return newValue + ac[newValue.length];
+    }
+
     hasErrors = hasErrors || error !== undefined;
     return (
       <AttributeEntryField
         key={i}
         isFirst={i == 0}
-        setValue={(v: string) => setAttrs({ ...attrs, [spec.name]: v })}
+        setValue={(v: string) =>
+          setAttrs({ ...attrs, [spec.name]: addAutocomplete(v) })
+        }
         spec={spec}
         errorMessage={error}
         onConfirm={() => {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]