reneco-advanced-input-module 0.0.1-beta.1 → 0.0.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/loader/cdn.js +1 -0
  2. package/loader/index.cjs.js +1 -0
  3. package/loader/index.d.ts +24 -0
  4. package/loader/index.es2017.js +1 -0
  5. package/loader/index.js +2 -0
  6. package/package.json +6 -2
  7. package/www/build/index.esm.js +2 -0
  8. package/www/build/index.esm.js.map +1 -0
  9. package/www/build/loader.esm.js.map +1 -0
  10. package/www/build/ocr-file-uploader.voice-input-module.entry.esm.js.map +1 -0
  11. package/www/build/p-52e59129.entry.js +2 -0
  12. package/www/build/p-52e59129.entry.js.map +1 -0
  13. package/www/build/p-DQuL1Twl.js +2 -0
  14. package/www/build/p-DQuL1Twl.js.map +1 -0
  15. package/www/build/p-jmc2yzBp.js +3 -0
  16. package/www/build/p-jmc2yzBp.js.map +1 -0
  17. package/www/build/voice-input-module.esm.js +2 -0
  18. package/www/build/voice-input-module.esm.js.map +1 -0
  19. package/www/build/voice-input-module.js +33 -0
  20. package/www/host.config.json +15 -0
  21. package/www/index.html +922 -0
  22. package/.editorconfig +0 -15
  23. package/.prettierrc.json +0 -13
  24. package/api-key-inject.js +0 -46
  25. package/env-config.js +0 -4
  26. package/inject-env.js +0 -20
  27. package/src/components/ocr-file-uploader/ocr-file-uploader.css +0 -26
  28. package/src/components/ocr-file-uploader/ocr-file-uploader.tsx +0 -100
  29. package/src/components/ocr-file-uploader/readme.md +0 -31
  30. package/src/components/voice-input-module/readme.md +0 -114
  31. package/src/components/voice-input-module/voice-input-module.css +0 -286
  32. package/src/components/voice-input-module/voice-input-module.tsx +0 -778
  33. package/src/components.d.ts +0 -158
  34. package/src/index.html +0 -1015
  35. package/src/index.ts +0 -12
  36. package/src/services/audio-recorder.service.ts +0 -74
  37. package/src/services/llm.service.ts +0 -221
  38. package/src/services/speech-to-text.service.ts +0 -70
  39. package/src/types/form-schema.types.ts +0 -78
  40. package/src/types/service-providers.types.ts +0 -22
  41. package/src/utils/schema-converter.ts +0 -494
  42. package/stencil.config.ts +0 -24
  43. package/tsconfig.json +0 -30
package/www/index.html ADDED
@@ -0,0 +1,922 @@
1
+ <!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Voice Input Module Demo</title> <link rel="modulepreload" href="/build/p-jmc2yzBp.js"><script type="module" data-stencil data-resources-url="/build/" data-stencil-namespace="voice-input-module">import{p as o,b as e}from"/build/p-jmc2yzBp.js";export{s as setNonce}from"/build/p-jmc2yzBp.js";import{g as i}from"/build/p-DQuL1Twl.js";var r=()=>{const e=import.meta.url;const s={};if(e!==""){s.resourcesUrl=new URL(".",e).href}return o(s)};r().then((async o=>{await i();return e([["p-52e59129",[[257,"voice-input-module",{formJson:[1,"form-json"],serviceConfig:[1,"service-config"],apiKey:[1,"api-key"],context:[1],classificationRootUrl:[1,"classification-root-url"],language:[1],inputTypes:[16,"input-types"],debug:[4],renderForm:[4,"render-form"],displayStatus:[4,"display-status"],isRecording:[32],isProcessing:[32],statusMessage:[32],hasError:[32],transcription:[32],filledData:[32],debugInfo:[32],isReadonlyMode:[32],convertXmlToJson:[64],convertJsonToXml:[64],convertXmlToJsonLegacy:[64],convertJsonToXmlLegacy:[64]},null,{formJson:["initializeServices"],serviceConfig:["initializeServices"]}],[257,"ocr-file-uploader",{batch:[4],callback:[16]}]]]],o)}));
2
+ //# sourceMappingURL=voice-input-module.esm.js.map
3
+ </script> <script nomodule="" src="/build/voice-input-module.js" data-stencil></script> <style>body {
4
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
5
+ margin: 0;
6
+ padding: 2rem;
7
+ background: #f8fafc;
8
+ line-height: 1.6;
9
+ }
10
+ .container {
11
+ max-width: 1000px;
12
+ margin: 0 auto;
13
+ background: white;
14
+ padding: 2rem;
15
+ border-radius: 1rem;
16
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
17
+ }
18
+ h1 {
19
+ color: #1e293b;
20
+ margin-bottom: 1rem;
21
+ }
22
+ textarea {
23
+ width:800px;
24
+ height:300px;
25
+ }
26
+ .description {
27
+ color: #64748b;
28
+ margin-bottom: 2rem;
29
+ }
30
+ .demo-section {
31
+ margin: 2rem 0;
32
+ padding: 1.5rem;
33
+ background: #f8fafc;
34
+ border-radius: 0.5rem;
35
+ border: 1px solid #e2e8f0;
36
+ }
37
+ .demo-title {
38
+ font-weight: 600;
39
+ color: #374151;
40
+ margin-bottom: 1rem;
41
+ }
42
+ .schema-example {
43
+ background: #1e293b;
44
+ color: #e2e8f0;
45
+ padding: 1rem;
46
+ border-radius: 0.375rem;
47
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
48
+ font-size: 0.875rem;
49
+ overflow-x: auto;
50
+ margin: 1rem 0;
51
+ }
52
+ .result-display {
53
+ margin-top: 1rem;
54
+ padding: 1rem;
55
+ background: #f0f9ff;
56
+ border: 1px solid #0ea5e9;
57
+ border-radius: 0.375rem;
58
+ }
59
+ .setup-note {
60
+ background: #fef3c7;
61
+ border: 1px solid #f59e0b;
62
+ border-radius: 0.375rem;
63
+ padding: 1rem;
64
+ margin-bottom: 2rem;
65
+ color: #92400e;
66
+ }
67
+
68
+ .toggle-section {
69
+ margin: 1rem 0;
70
+ }
71
+
72
+ .toggle-button {
73
+ background: #3b82f6;
74
+ color: white;
75
+ border: none;
76
+ padding: 0.5rem 1rem;
77
+ border-radius: 0.375rem;
78
+ cursor: pointer;
79
+ font-size: 0.875rem;
80
+ display: flex;
81
+ align-items: center;
82
+ gap: 0.5rem;
83
+ margin-bottom: 0.5rem;
84
+ }
85
+
86
+ .toggle-button:hover {
87
+ background: #2563eb;
88
+ }
89
+
90
+ .toggle-content {
91
+ display: none;
92
+ padding: 1rem;
93
+ background: white;
94
+ border: 1px solid #e5e7eb;
95
+ border-radius: 0.375rem;
96
+ }
97
+
98
+ .toggle-content.visible {
99
+ display: block;
100
+ }
101
+
102
+ .editable-schema {
103
+ min-height: 200px;
104
+ padding: 1rem;
105
+ border: 1px solid #d1d5db;
106
+ border-radius: 0.375rem;
107
+ font-family: 'Monaco', 'Menlo', monospace;
108
+ font-size: 0.875rem;
109
+ white-space: pre-wrap;
110
+ background: #f9fafb;
111
+ width: 100%;
112
+ box-sizing: border-box;
113
+ resize: vertical;
114
+ }
115
+
116
+ .editable-schema:focus {
117
+ outline: none;
118
+ border-color: #3b82f6;
119
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
120
+ }
121
+
122
+ .debug-title {
123
+ font-weight: 600;
124
+ color: #374151;
125
+ margin-bottom: 0.5rem;
126
+ }
127
+
128
+ .debug-content {
129
+ background: #1e293b;
130
+ color: #e2e8f0;
131
+ padding: 1rem;
132
+ border-radius: 0.375rem;
133
+ font-family: 'Monaco', 'Menlo', monospace;
134
+ font-size: 0.875rem;
135
+ overflow-x: auto;
136
+ white-space: pre-wrap;
137
+ }</style> </head> <body> <div class="container"> <h1>Voice Input Module Component</h1> <div class="setup-note"> <strong>Setup Required:</strong> This component requires OpenAI API key to be passed in options. </div> <div class="demo-section"> <div class="demo-title">NG component</div> <voice-input-module id="demo3" form-json="{&quot;ID&quot;:1003,&quot;System_Name&quot;:&quot;Adoption_End&quot;,&quot;Type&quot;:&quot;Container&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1003,&quot;Flex_Direction&quot;:&quot;row&quot;,&quot;Flex_Wrap&quot;:&quot;wrap&quot;,&quot;Align_Items&quot;:&quot;flex-start&quot;,&quot;Field_Width&quot;:8,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Adoption_End&quot;,&quot;en&quot;:&quot;Adoption_End&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Adoption_End&quot;,&quot;en&quot;:&quot;Adoption_End&quot;},&quot;Label&quot;:&quot;Root&quot;},&quot;Children&quot;:[{&quot;ID&quot;:2016,&quot;System_Name&quot;:&quot;Individual_ID&quot;,&quot;Type&quot;:&quot;InputAutocomplete&quot;,&quot;Settings&quot;:{&quot;Autocomplete_Start&quot;:0,&quot;Operator&quot;:&quot;contains&quot;,&quot;Field_Width&quot;:4,&quot;Source_View&quot;:&quot;Individuals&quot;,&quot;Source_Field&quot;:[&quot;Adult_ID&quot;,&quot;Egg_ID&quot;],&quot;Trigger_Min_Length&quot;:3,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Individual_ID&quot;,&quot;en&quot;:&quot;Individual_ID&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Individual_ID&quot;,&quot;en&quot;:&quot;Individual_ID&quot;},&quot;Label&quot;:&quot;Individual_ID&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:true},{&quot;ID&quot;:2017,&quot;System_Name&quot;:&quot;ID&quot;,&quot;Type&quot;:&quot;InputInteger&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1005,&quot;Min&quot;:null,&quot;Max&quot;:null,&quot;Default_Value&quot;:null,&quot;Unit&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;ID&quot;,&quot;en&quot;:&quot;ID&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;ID&quot;,&quot;en&quot;:&quot;ID&quot;},&quot;Label&quot;:&quot;ID&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:true},{&quot;ID&quot;:2018,&quot;System_Name&quot;:&quot;End_Of_Adoption_Cause&quot;,&quot;Type&quot;:&quot;InputInteger&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1006,&quot;Min&quot;:null,&quot;Max&quot;:null,&quot;Default_Value&quot;:null,&quot;Unit&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;End_Of_Adoption_Cause&quot;,&quot;en&quot;:&quot;End_Of_Adoption_Cause&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;End_Of_Adoption_Cause&quot;,&quot;en&quot;:&quot;End_Of_Adoption_Cause&quot;},&quot;Label&quot;:&quot;End_Of_Adoption_Cause&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2019,&quot;System_Name&quot;:&quot;New_Position&quot;,&quot;Type&quot;:&quot;InputInteger&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1007,&quot;Min&quot;:null,&quot;Max&quot;:null,&quot;Default_Value&quot;:null,&quot;Unit&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;New_Position&quot;,&quot;en&quot;:&quot;New_Position&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;New_Position&quot;,&quot;en&quot;:&quot;New_Position&quot;},&quot;Label&quot;:&quot;New_Position&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:true},{&quot;ID&quot;:2020,&quot;System_Name&quot;:&quot;Comment&quot;,&quot;Type&quot;:&quot;InputTextArea&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1005,&quot;Min_Length&quot;:null,&quot;Max_Length&quot;:null,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Comment&quot;,&quot;en&quot;:&quot;Comment&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Comment&quot;,&quot;en&quot;:&quot;Comment&quot;},&quot;Label&quot;:&quot;Comment&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2021,&quot;System_Name&quot;:&quot;Former_Adoptive_Father&quot;,&quot;Type&quot;:&quot;InputTextArea&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1006,&quot;Min_Length&quot;:null,&quot;Max_Length&quot;:null,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Former Adoptive Father&quot;,&quot;en&quot;:&quot;Former_Adoptive_Father&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Former_Adoptive_Father&quot;,&quot;en&quot;:&quot;Former_Adoptive_Father&quot;},&quot;Label&quot;:&quot;Former_Adoptive_Father&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2022,&quot;System_Name&quot;:&quot;Former_Adoptive_Mother&quot;,&quot;Type&quot;:&quot;InputTextArea&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1007,&quot;Min_Length&quot;:null,&quot;Max_Length&quot;:null,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Former_Adoptive_Mother&quot;,&quot;en&quot;:&quot;Former_Adoptive_Mother&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Former_Adoptive_Mother&quot;,&quot;en&quot;:&quot;Former_Adoptive_Mother&quot;},&quot;Label&quot;:&quot;Former_Adoptive_Mother&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2023,&quot;System_Name&quot;:&quot;Start_Date&quot;,&quot;Type&quot;:&quot;InputDateTimePicker&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1003,&quot;Format&quot;:null,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Is_Default_Value_Now&quot;:null,&quot;Has_Future_Date&quot;:null,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Start Date&quot;,&quot;en&quot;:&quot;Start Date&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Start Date&quot;,&quot;en&quot;:&quot;Start Date&quot;},&quot;Label&quot;:&quot;Start_Date&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:true},{&quot;ID&quot;:2024,&quot;System_Name&quot;:&quot;Test_Decimal&quot;,&quot;Type&quot;:&quot;InputDecimal&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1003,&quot;Min&quot;:null,&quot;Max&quot;:null,&quot;Default_Value&quot;:null,&quot;Unit&quot;:null,&quot;Field_Width&quot;:4,&quot;Number_Of_Decimal&quot;:3,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Decimal&quot;,&quot;en&quot;:&quot;Test_Decimal&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Decimal&quot;,&quot;en&quot;:&quot;Test_Decimal&quot;},&quot;Label&quot;:&quot;Test_Decimal&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2025,&quot;System_Name&quot;:&quot;Test_Classap&quot;,&quot;Type&quot;:&quot;InputClassification&quot;,&quot;Settings&quot;:{&quot;ID&quot;:1003,&quot;Start_Node_ID&quot;:222957,&quot;Default_Value&quot;:null,&quot;Is_Fullpath_Used&quot;:null,&quot;Is_Multiple&quot;:null,&quot;Field_Width&quot;:4,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Classap&quot;,&quot;en&quot;:&quot;Test_Classap&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Classap&quot;,&quot;en&quot;:&quot;Test_Classap&quot;},&quot;Label&quot;:&quot;Test_Classap&quot;},&quot;Children&quot;:[&quot;hello&quot;,&quot;world&quot;],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false},{&quot;ID&quot;:2026,&quot;System_Name&quot;:&quot;Test_Checkbox&quot;,&quot;Type&quot;:&quot;InputCheckbox&quot;,&quot;Settings&quot;:{&quot;ID&quot;:2,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Checkbox&quot;,&quot;en&quot;:&quot;Test_Checkbox&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Checkbox&quot;,&quot;en&quot;:&quot;Test_Checkbox&quot;},&quot;Label&quot;:&quot;Test_Checkbox&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:true},{&quot;ID&quot;:2027,&quot;System_Name&quot;:&quot;Test_Translation_ID&quot;,&quot;Type&quot;:&quot;InputTextTranslation&quot;,&quot;Settings&quot;:{&quot;ID&quot;:2,&quot;Min_Length&quot;:null,&quot;Max_Length&quot;:null,&quot;Default_Value&quot;:null,&quot;Field_Width&quot;:4,&quot;Label_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Translation_ID&quot;,&quot;en&quot;:&quot;Test_Translation_ID&quot;},&quot;Description_Translation_ID&quot;:{&quot;fr&quot;:&quot;Test_Translation_ID&quot;,&quot;en&quot;:&quot;Test_Translation_ID&quot;},&quot;Label&quot;:&quot;Test_Translation_ID&quot;},&quot;Children&quot;:[],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false}],&quot;Is_Virtual&quot;:false,&quot;Required&quot;:false,&quot;Meta&quot;:{&quot;ID&quot;:3,&quot;System_Name&quot;:&quot;Protocol&quot;},&quot;Object_Type&quot;:{&quot;ID&quot;:81,&quot;System_Name&quot;:&quot;Adoption_End&quot;}}" api-key="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" render-form="true" display-status="true" debug="true" context="ng" classification-root-url="http://localhost:8888" voice-or-ocr="both"></voice-input-module> </div> <!-- NOTE STEP 1 --> <div class="demo-section"> <div class="demo-title">Ecoll component</div> <voice-input-module id="demo2" form-json="[{&quot;name&quot;:&quot;general informations&quot;,&quot;label&quot;:&quot;Informations générales de l'événement&quot;,&quot;role&quot;:&quot;main&quot;,&quot;class&quot;:&quot;general-infos&quot;,&quot;items&quot;:[{&quot;type&quot;:&quot;number&quot;,&quot;name&quot;:&quot;Event_ID&quot;,&quot;label&quot;:&quot;ID&quot;,&quot;readonly&quot;:true,&quot;disabled&quot;:false},{&quot;type&quot;:&quot;text&quot;,&quot;name&quot;:&quot;Subject&quot;,&quot;label&quot;:&quot;Sujet&quot;,&quot;readonly&quot;:true,&quot;tooltip_value&quot;:&quot;M19N08550&quot;,&quot;disabled&quot;:false},{&quot;type&quot;:&quot;date&quot;,&quot;name&quot;:&quot;Start_Date&quot;,&quot;label&quot;:&quot;Date de l'événement&quot;,&quot;required&quot;:true,&quot;disabled&quot;:false},{&quot;type&quot;:&quot;text&quot;,&quot;name&quot;:&quot;TUse_Login&quot;,&quot;label&quot;:&quot;Opérateur&quot;,&quot;readonly&quot;:true,&quot;disabled&quot;:false}]},{&quot;name&quot;:&quot;eventdetails&quot;,&quot;label&quot;:&quot;Détails de l'événement&quot;,&quot;role&quot;:&quot;event-details&quot;,&quot;class&quot;:&quot;event-details&quot;,&quot;items&quot;:[{&quot;name&quot;:&quot;Sample_Status&quot;,&quot;label&quot;:&quot;Statut&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:2014257,&quot;StartNodeID&quot;:2014257,&quot;lng&quot;:&quot;fr&quot;,&quot;Reach&quot;:[2014257]},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:true,&quot;defaultValue&quot;:[&quot;2014257&quot;]}},&quot;dynprop&quot;:{&quot;ID&quot;:1792,&quot;Name&quot;:&quot;Sample_Status&quot;,&quot;Label_EN&quot;:&quot;Status&quot;,&quot;Label_FR&quot;:&quot;Statut&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:true,&quot;Min_Value&quot;:0,&quot;Default_Value&quot;:&quot;2014257&quot;,&quot;External_Info&quot;:2014257,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Sample_Status&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:true,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Sample_Type&quot;,&quot;label&quot;:&quot;Type d'échantillon&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;2014261&quot;,&quot;StartNodeID&quot;:&quot;2014261&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1793,&quot;Name&quot;:&quot;Sample_Type&quot;,&quot;Label_EN&quot;:&quot;Sample type&quot;,&quot;Label_FR&quot;:&quot;Type d'échantillon&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;2014261&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Sample_Type&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Context&quot;,&quot;label&quot;:&quot;Contexte&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;2014303&quot;,&quot;StartNodeID&quot;:&quot;2014303&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1794,&quot;Name&quot;:&quot;Context&quot;,&quot;Label_EN&quot;:&quot;Context&quot;,&quot;Label_FR&quot;:&quot;Contexte&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;2014303&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Context&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Purpose&quot;,&quot;label&quot;:&quot;But&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;168027&quot;,&quot;StartNodeID&quot;:&quot;168027&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1795,&quot;Name&quot;:&quot;Purpose&quot;,&quot;Label_EN&quot;:&quot;Purpose&quot;,&quot;Label_FR&quot;:&quot;But&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;168027&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Purpose&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Position&quot;,&quot;label&quot;:&quot;Position&quot;,&quot;icon&quot;:&quot;reneco-localtion&quot;,&quot;type&quot;:&quot;position&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Position&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:213847,&quot;StartNodeID&quot;:213847,&quot;lng&quot;:&quot;fr&quot;,&quot;Reach&quot;:[213847]},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:true,&quot;defaultValue&quot;:[&quot;213847&quot;]}},&quot;dynprop&quot;:{&quot;ID&quot;:1796,&quot;Name&quot;:&quot;Position&quot;,&quot;Label_EN&quot;:&quot;Location&quot;,&quot;Label_FR&quot;:&quot;Position&quot;,&quot;Type&quot;:&quot;position&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:true,&quot;Min_Value&quot;:0,&quot;Default_Value&quot;:&quot;213847&quot;,&quot;External_Info&quot;:213847,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Position&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:true,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Analysis_Request&quot;,&quot;label&quot;:&quot;Demande d'analyse&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;81768&quot;,&quot;StartNodeID&quot;:&quot;81768&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:true,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1797,&quot;Name&quot;:&quot;Analysis_Request&quot;,&quot;Label_EN&quot;:&quot;Analysis request&quot;,&quot;Label_FR&quot;:&quot;Demande d'analyse&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:true,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;start_node_id=81768|multiple=true&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:true,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Targeted_Pathogen&quot;,&quot;label&quot;:&quot;Pathogène ciblé&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;87227&quot;,&quot;StartNodeID&quot;:&quot;87227&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:true,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1798,&quot;Name&quot;:&quot;Targeted_Pathogen&quot;,&quot;Label_EN&quot;:&quot;Targeted pathogen&quot;,&quot;Label_FR&quot;:&quot;Pathogène ciblé&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:false,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;start_node_id=87227|multiple=true&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:false,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Anatomy&quot;,&quot;label&quot;:&quot;Anatomie&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;78255&quot;,&quot;StartNodeID&quot;:&quot;78255&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:true,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1799,&quot;Name&quot;:&quot;Anatomy&quot;,&quot;Label_EN&quot;:&quot;Anatomy&quot;,&quot;Label_FR&quot;:&quot;Anatomie&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:false,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;start_node_id=78255|multiple=true&quot;,&quot;Required_When&quot;:&quot;{input:Sample_Type|op:like|value:Organ}|{input:Sample_Type|op:like|value:FTA}|{input:Sample_Type|op:like|value:Swab}|{input:Sample_Type|op:like|value:Prepared slide}|{input:Sample_Type|op:=|value:DNA}|{input:Sample_Type|op:like|value:RNA}&quot;,&quot;Hide_When&quot;:&quot;{input:Sample_Type|op:notlike|value:Organ}|{input:Sample_Type|op:notlike|value:FTA}|{input:Sample_Type|op:notlike|value:Swab}|{input:Sample_Type|op:notlike|value:Prepared slide}|{input:Sample_Type|op:notlike|value:Faeces}|{input:Sample_Type|op:!=|value:DNA}|{input:Sample_Type|op:notlike|value:RNA}|{input:Sample_Type|op:notlike|value:Blood}&quot;,&quot;Disabled_When&quot;:&quot;{input:Sample_Type|op:like|value:Faeces}|{input:Sample_Type|op:like|value:Blood}&quot;,&quot;Default_Value_When&quot;:&quot;{input:Sample_Type|op:like|value:Faeces|default_value:81126}|{input:Sample_Type|op:like|value:Blood|default_value:2017986}&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;Anatomy&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:false,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;required_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Organ&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;FTA&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Swab&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Prepared slide&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;=&quot;,&quot;value&quot;:&quot;DNA&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;RNA&quot;}],&quot;hide_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;Organ&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;FTA&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;Swab&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;Prepared slide&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;Faeces&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;!=&quot;,&quot;value&quot;:&quot;DNA&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;RNA&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;Blood&quot;}],&quot;disabled_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Faeces&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Blood&quot;}],&quot;default_value_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Faeces&quot;,&quot;default_value&quot;:&quot;81126&quot;},{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;Blood&quot;,&quot;default_value&quot;:&quot;2017986&quot;}],&quot;hide&quot;:true,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;FTA_Card_Code&quot;,&quot;label&quot;:&quot;Code de carte FTA&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;text&quot;,&quot;dynprop&quot;:{&quot;ID&quot;:1800,&quot;Name&quot;:&quot;FTA_Card_Code&quot;,&quot;Label_EN&quot;:&quot;FTA card code&quot;,&quot;Label_FR&quot;:&quot;Code de carte FTA&quot;,&quot;Type&quot;:&quot;string&quot;,&quot;Is_Required&quot;:false,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;Required_When&quot;:&quot;{input:Sample_Type|op:like|value:FTA}&quot;,&quot;Hide_When&quot;:&quot;{input:Sample_Type|op:notlike|value:FTA}&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;FTA_Card_Code&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:false,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;required_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;FTA&quot;}],&quot;hide_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;FTA&quot;}],&quot;hide&quot;:true,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;FTA_Card_Position&quot;,&quot;label&quot;:&quot;Emplacement sur la carte&quot;,&quot;icon&quot;:&quot;reneco-logo-thesaurus&quot;,&quot;type&quot;:&quot;thesaurus&quot;,&quot;config&quot;:{&quot;options&quot;:{&quot;source&quot;:&quot;webservice&quot;,&quot;origin&quot;:&quot;classification&quot;,&quot;token&quot;:&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJOU3BvcnRhbCIsInN1YiI6IjE4NzUiLCJ1c2VybmFtZSI6Iktvc3Rob3dhIEx1ZG92aWMiLCJ1c2VybGFuZ3VhZ2UiOiJlbiIsImV4cCI6MTc2NDA2NDk1Nywicm9sZXMiOnsiREVWIFRSQUNLIjoiQWRtaW5pc3RyYXRldXIiLCJQb3J0YWwiOiJBZG1pbmlzdHJhdGV1ciIsIlBhcmFtZXRlcnMiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBQYXJhbWV0ZXJzIjoiQWRtaW5pc3RyYXRldXIiLCJOUyBUaFx1MDBlOXNhdXJ1cyAocmVhZCBvbmx5KSI6IkFkbWluaXN0cmF0ZXVyIiwiUG9zaXRpb24gKHJlYWQgb25seSkiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIEVudG9tb2xvZ3kiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBEYXRhIEVudHJ5IFVuZHVsYXRhIjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gTWFuYWdlbWVudCBVbmR1bGF0YSI6IkFkbWluaXN0cmF0ZXVyIiwiU2VjdXJpdGUiOiJBZG1pbmlzdHJhdGV1ciIsImVDb2xsZWN0aW9uIFZldGVyaW5hcnkiOiJBZG1pbmlzdHJhdGV1ciIsIkRFViBlQ29sbGVjdGlvbiBWZXRlcmluYXJ5IjoiQWRtaW5pc3RyYXRldXIiLCJSZXByb2R1Y3Rpb24gRGF0YSBFbnRyeSBVbmR1bGF0YSBERVYiOiJBZG1pbmlzdHJhdGV1ciIsIlJlcHJvZHVjdGlvbiBNYW5hZ2VtZW50IFVuZHVsYXRhIERFViI6IkFkbWluaXN0cmF0ZXVyIiwiREVWIGVDb2xsZWN0aW9uIEJvdGEiOiJBZG1pbmlzdHJhdGV1ciJ9fQ.qNQfo8hqzyyrEOJSi_32wvxCsd2K2jX3FxzJe-CSpXNU1ABvc7pCyqXVqpTIB2VA2xUioNlGnvTTCNzb4fuYjYv46QaTeCzcTcsjc3Mf-1coeBkufov7CGF2mCcA-MaE4Zpzgz01qP1Ud9JMJ9glldwkNRPXt9rjOLjoEsq88ITgC8i0cpFArCzzRdqx5PbQMcaQXcnVjU2y4k1qASLm6UxvO5W6TnDyuRAKfcGeN7iMEP8wvdI-UrwvCLyNb6mKk3VtHfuvc--TO9HrCyTtxxWnXLltWsEu4ne1wGx7PogUFY-wST_mqjEg2SnJ8GzdR0My4LW8lAWJlSzVCI2pNA&quot;,&quot;url&quot;:&quot;https://nsdev01.int/ng/api/v1/classification/getTree/Thesaurus&quot;,&quot;language&quot;:&quot;fr&quot;,&quot;options&quot;:{&quot;IsDeprecated&quot;:false,&quot;startNode&quot;:&quot;2014322&quot;,&quot;StartNodeID&quot;:&quot;2014322&quot;,&quot;lng&quot;:&quot;fr&quot;},&quot;multiple&quot;:false,&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;input&quot;,&quot;loading&quot;:&quot;display&quot;,&quot;displayTree&quot;:true,&quot;isFullpath&quot;:false,&quot;displayRootNode&quot;:false}},&quot;dynprop&quot;:{&quot;ID&quot;:1801,&quot;Name&quot;:&quot;FTA_Card_Position&quot;,&quot;Label_EN&quot;:&quot;Position in card&quot;,&quot;Label_FR&quot;:&quot;Emplacement sur la carte&quot;,&quot;Type&quot;:&quot;thesaurus&quot;,&quot;Is_Required&quot;:false,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;External_Info&quot;:&quot;2014322&quot;,&quot;Required_When&quot;:&quot;{input:Sample_Type|op:like|value:FTA}&quot;,&quot;Hide_When&quot;:&quot;{input:Sample_Type|op:notlike|value:FTA}&quot;,&quot;Linked_Entity&quot;:&quot;Sample&quot;,&quot;Linked_Field&quot;:&quot;FTA_Card_Position&quot;,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:false,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;required_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;like&quot;,&quot;value&quot;:&quot;FTA&quot;}],&quot;hide_when&quot;:[{&quot;input&quot;:&quot;Sample_Type&quot;,&quot;op&quot;:&quot;notlike&quot;,&quot;value&quot;:&quot;FTA&quot;}],&quot;hide&quot;:true,&quot;disabled&quot;:false},{&quot;name&quot;:&quot;Comment&quot;,&quot;label&quot;:&quot;Notes&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;textarea&quot;,&quot;dynprop&quot;:{&quot;ID&quot;:1802,&quot;Name&quot;:&quot;Comment&quot;,&quot;Label_EN&quot;:&quot;Comment&quot;,&quot;Label_FR&quot;:&quot;Notes&quot;,&quot;Type&quot;:&quot;textarea&quot;,&quot;Is_Required&quot;:false,&quot;Is_Readonly&quot;:false,&quot;Min_Value&quot;:0,&quot;Event_Type_ID&quot;:1,&quot;Is_Hidden&quot;:false,&quot;Extraction_Field&quot;:false},&quot;required&quot;:false,&quot;readonly&quot;:false,&quot;editable&quot;:true,&quot;extraction_field&quot;:false,&quot;hide&quot;:false,&quot;disabled&quot;:false}]},{&quot;Event_ID&quot;: null}]" api-key="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" render-form="true" display-status="true" debug="true" context="ecoll-veto" language="fr" classification-root-url="http://localhost:8888"></voice-input-module> </div> <!-- NOTE STEP 2 --> <div class="demo-section"> <div class="demo-title">Ecoteka component</div> <voice-input-module id="demo4" form-json="
138
+ {
139
+ &quot;Children&quot;:[
140
+ {
141
+ &quot;System_Name&quot;: &quot;Diagnosis date&quot;,
142
+ &quot;Type&quot;: &quot;date&quot;,
143
+ &quot;Required&quot;: &quot;true&quot;,
144
+ &quot;Settings&quot;: {
145
+ &quot;Label&quot;: &quot;Date de passage&quot;,
146
+ &quot;Default_Value&quot;: null
147
+ }
148
+ },
149
+ {
150
+ &quot;System_Name&quot;: &quot;Diagnosis type&quot;,
151
+ &quot;Type&quot;: &quot;text&quot;,
152
+ &quot;Required&quot;: &quot;true&quot;,
153
+ &quot;Settings&quot;: {
154
+ &quot;Label&quot;: &quot;Type de diagnostic&quot;,
155
+ &quot;Default_Value&quot;: null
156
+ }
157
+ },
158
+ {
159
+ &quot;System_Name&quot;: &quot;Tree condition&quot;,
160
+ &quot;Type&quot;: &quot;select&quot;,
161
+ &quot;Required&quot;: &quot;true&quot;,
162
+ &quot;Settings&quot;: {
163
+ &quot;Label&quot;: &quot;Etat physiologique&quot;,
164
+ &quot;Default_Value&quot;: null
165
+ },
166
+ &quot;Children&quot;: [{
167
+ &quot;Label&quot;: &quot;Bonne&quot;
168
+ },{
169
+ &quot;Label&quot;: &quot;Moyenne&quot;
170
+ },{
171
+ &quot;Label&quot;: &quot;Faible&quot;
172
+ }]
173
+ },
174
+ {
175
+ &quot;System_Name&quot;: &quot;Tree vigor&quot;,
176
+ &quot;Type&quot;: &quot;select&quot;,
177
+ &quot;Required&quot;: &quot;false&quot;,
178
+ &quot;Settings&quot;: {
179
+ &quot;Label&quot;: &quot;Vigueur du sujet&quot;,
180
+ &quot;Default_Value&quot;: null
181
+ },
182
+ &quot;Children&quot;: [{
183
+ &quot;Label&quot;: &quot;Sain&quot;
184
+ },{
185
+ &quot;Label&quot;: &quot;Stressé&quot;
186
+ },{
187
+ &quot;Label&quot;: &quot;Résilient&quot;
188
+ },{
189
+ &quot;Label&quot;: &quot;En dépérissement irréversible&quot;
190
+ },{
191
+ &quot;Label&quot;: &quot;En descente de cime&quot;
192
+ },{
193
+ &quot;Label&quot;: &quot;En repli&quot;
194
+ },{
195
+ &quot;Label&quot;: &quot;Non lisible&quot;
196
+ }]
197
+ },
198
+ {
199
+ &quot;System_Name&quot;: &quot;Root condition&quot;,
200
+ &quot;Type&quot;: &quot;select&quot;,
201
+ &quot;Required&quot;: &quot;false&quot;,
202
+ &quot;Settings&quot;: {
203
+ &quot;Label&quot;: &quot;Etat des racines&quot;,
204
+ &quot;Default_Value&quot;: null
205
+ },
206
+ &quot;Children&quot;: [{
207
+ &quot;Label&quot;: &quot;Racines saines&quot;
208
+ },{
209
+ &quot;Label&quot;: &quot;Racines sectionnées (travaux)&quot;
210
+ },{
211
+ &quot;Label&quot;: &quot;Pollution&quot;
212
+ },{
213
+ &quot;Label&quot;: &quot;Dépôt de matériaux&quot;
214
+ },{
215
+ &quot;Label&quot;: &quot;Tassement du sol&quot;
216
+ },{
217
+ &quot;Label&quot;: &quot;Racines de surface dégradées&quot;
218
+ },{
219
+ &quot;Label&quot;: &quot;Mauvais état non défini&quot;
220
+ }]
221
+ },
222
+ {
223
+ &quot;System_Name&quot;: &quot;Collar condition&quot;,
224
+ &quot;Type&quot;: &quot;select&quot;,
225
+ &quot;Required&quot;: &quot;false&quot;,
226
+ &quot;Settings&quot;: {
227
+ &quot;Label&quot;: &quot;Etat du collet&quot;,
228
+ &quot;Default_Value&quot;: null
229
+ },
230
+ &quot;Children&quot;: [{
231
+ &quot;Label&quot;: &quot;Arrachement&quot;
232
+ },{
233
+ &quot;Label&quot;: &quot;Plaie légère&quot;
234
+ },{
235
+ &quot;Label&quot;: &quot;Carpophore&quot;
236
+ },{
237
+ &quot;Label&quot;: &quot;Cavité interne&quot;
238
+ },{
239
+ &quot;Label&quot;: &quot;Cavité ouverte&quot;
240
+ },{
241
+ &quot;Label&quot;: &quot;Chancre&quot;
242
+ },{
243
+ &quot;Label&quot;: &quot;Corps étranger&quot;
244
+ }]
245
+ },
246
+ {
247
+ &quot;System_Name&quot;: &quot;Trunk condition&quot;,
248
+ &quot;Type&quot;: &quot;select&quot;,
249
+ &quot;Required&quot;: &quot;false&quot;,
250
+ &quot;Settings&quot;: {
251
+ &quot;Label&quot;: &quot;Etat du tronc&quot;,
252
+ &quot;Default_Value&quot;: null
253
+ },
254
+ &quot;Children&quot;: [{
255
+ &quot;Label&quot;: &quot;Fissure longitudinale&quot;
256
+ },{
257
+ &quot;Label&quot;: &quot;Fissure tangentielle&quot;
258
+ },{
259
+ &quot;Label&quot;: &quot;Blessure profonde (creux)&quot;
260
+ },{
261
+ &quot;Label&quot;: &quot;Plaie de taille&quot;
262
+ },{
263
+ &quot;Label&quot;: &quot;Bois mort en quantité anormale&quot;
264
+ },{
265
+ &quot;Label&quot;: &quot;Brin à écorce incluse&quot;
266
+ }]
267
+ },
268
+ {
269
+ &quot;System_Name&quot;: &quot;Crown condition&quot;,
270
+ &quot;Type&quot;: &quot;select&quot;,
271
+ &quot;Required&quot;: &quot;false&quot;,
272
+ &quot;Settings&quot;: {
273
+ &quot;Label&quot;: &quot;Etat du houppier&quot;,
274
+ &quot;Default_Value&quot;: null
275
+ },
276
+ &quot;Children&quot;: [{
277
+ &quot;Label&quot;: &quot;Flambage&quot;
278
+ },{
279
+ &quot;Label&quot;: &quot;Fil torse&quot;
280
+ },{
281
+ &quot;Label&quot;: &quot;Foudroyé&quot;
282
+ },{
283
+ &quot;Label&quot;: &quot;Fourche à écorce incluse&quot;
284
+ },{
285
+ &quot;Label&quot;: &quot;Fourche ou axe à écorce incluse&quot;
286
+ },{
287
+ &quot;Label&quot;: &quot;Instabilité&quot;
288
+ }]
289
+ },
290
+ {
291
+ &quot;System_Name&quot;: &quot;Tree is dangerous&quot;,
292
+ &quot;Type&quot;: &quot;checkbox&quot;,
293
+ &quot;Required&quot;: &quot;false&quot;,
294
+ &quot;Settings&quot;: {
295
+ &quot;Label&quot;: &quot;Arbre dangereux&quot;,
296
+ &quot;Default_Value&quot;: null
297
+ }
298
+ },
299
+ {
300
+ &quot;System_Name&quot;: &quot;Maintenance expectancy&quot;,
301
+ &quot;Type&quot;: &quot;select&quot;,
302
+ &quot;Required&quot;: &quot;false&quot;,
303
+ &quot;Settings&quot;: {
304
+ &quot;Label&quot;: &quot;Esperance de maintient&quot;,
305
+ &quot;Default_Value&quot;: null
306
+ },
307
+ &quot;Children&quot;: [{
308
+ &quot;Label&quot;: &quot;Normale&quot;
309
+ },{
310
+ &quot;Label&quot;: &quot;Acceptable&quot;
311
+ },{
312
+ &quot;Label&quot;: &quot;Faible&quot;
313
+ },{
314
+ &quot;Label&quot;: &quot;Très faible&quot;
315
+ },{
316
+ &quot;Label&quot;: &quot;Aucune&quot;
317
+ },{
318
+ &quot;Label&quot;: &quot;À définir&quot;
319
+ }]
320
+ },
321
+ {
322
+ &quot;System_Name&quot;: &quot;Detailed diagnosis is recommended&quot;,
323
+ &quot;Type&quot;: &quot;checkbox&quot;,
324
+ &quot;Required&quot;: &quot;false&quot;,
325
+ &quot;Settings&quot;: {
326
+ &quot;Label&quot;: &quot;Diagnostic approfondi recommande&quot;,
327
+ &quot;Default_Value&quot;: null
328
+ }
329
+ },
330
+ {
331
+ &quot;System_Name&quot;: &quot;Next diagnosis date recommendation&quot;,
332
+ &quot;Type&quot;: &quot;select&quot;,
333
+ &quot;Required&quot;: &quot;false&quot;,
334
+ &quot;Settings&quot;: {
335
+ &quot;Label&quot;: &quot;Date recommandee pour le prochain diagnostic&quot;,
336
+ &quot;Default_Value&quot;: null
337
+ },
338
+ &quot;Children&quot;: [{
339
+ &quot;Label&quot;: &quot;Cette année&quot;
340
+ },{
341
+ &quot;Label&quot;: &quot;Dans 2 ans&quot;
342
+ },{
343
+ &quot;Label&quot;: &quot;Dans 3 ans&quot;
344
+ },{
345
+ &quot;Label&quot;: &quot;Dans 5 ans&quot;
346
+ },{
347
+ &quot;Label&quot;: &quot;Dans 10 ans&quot;
348
+ },{
349
+ &quot;Label&quot;: &quot;Dans 15 ans&quot;
350
+ },{
351
+ &quot;Label&quot;: &quot;Dans 20 ans&quot;
352
+ }]
353
+ },
354
+ {
355
+ &quot;System_Name&quot;: &quot;Collar pathogen&quot;,
356
+ &quot;Type&quot;: &quot;select&quot;,
357
+ &quot;Required&quot;: &quot;false&quot;,
358
+ &quot;Settings&quot;: {
359
+ &quot;Label&quot;: &quot;Pathogene collet&quot;,
360
+ &quot;Default_Value&quot;: null
361
+ },
362
+ &quot;Children&quot;: [{
363
+ &quot;Label&quot;: &quot;Maladie fongique non définie&quot;
364
+ },{
365
+ &quot;Label&quot;: &quot;Criblure du laurier&quot;
366
+ },{
367
+ &quot;Label&quot;: &quot;Armillaria mellea&quot;
368
+ },{
369
+ &quot;Label&quot;: &quot;Armillaria ostoyae&quot;
370
+ },{
371
+ &quot;Label&quot;: &quot;Armillaria tabescens&quot;
372
+ }]
373
+ },
374
+ {
375
+ &quot;System_Name&quot;: &quot;Trunk pathogen&quot;,
376
+ &quot;Type&quot;: &quot;select&quot;,
377
+ &quot;Required&quot;: &quot;false&quot;,
378
+ &quot;Settings&quot;: {
379
+ &quot;Label&quot;: &quot;Pathogene tronc&quot;,
380
+ &quot;Default_Value&quot;: null
381
+ },
382
+ &quot;Children&quot;: [{
383
+ &quot;Label&quot;: &quot;Maladie fongique non définie&quot;
384
+ },{
385
+ &quot;Label&quot;: &quot;Criblure du laurier&quot;
386
+ },{
387
+ &quot;Label&quot;: &quot;Armillaria mellea&quot;
388
+ },{
389
+ &quot;Label&quot;: &quot;Armillaria ostoyae&quot;
390
+ },{
391
+ &quot;Label&quot;: &quot;Armillaria tabescens&quot;
392
+ }]
393
+ },
394
+ {
395
+ &quot;System_Name&quot;: &quot;Crown pathogen&quot;,
396
+ &quot;Type&quot;: &quot;select&quot;,
397
+ &quot;Required&quot;: &quot;false&quot;,
398
+ &quot;Settings&quot;: {
399
+ &quot;Label&quot;: &quot;Pathogene houppier&quot;,
400
+ &quot;Default_Value&quot;: null
401
+ },
402
+ &quot;Children&quot;: [{
403
+ &quot;Label&quot;: &quot;Maladie fongique non définie&quot;
404
+ },{
405
+ &quot;Label&quot;: &quot;Criblure du laurier&quot;
406
+ },{
407
+ &quot;Label&quot;: &quot;Armillaria mellea&quot;
408
+ },{
409
+ &quot;Label&quot;: &quot;Armillaria ostoyae&quot;
410
+ },{
411
+ &quot;Label&quot;: &quot;Armillaria tabescens&quot;
412
+ }]
413
+ },
414
+ {
415
+ &quot;System_Name&quot;: &quot;Undefined organ pathogen&quot;,
416
+ &quot;Type&quot;: &quot;select&quot;,
417
+ &quot;Required&quot;: &quot;false&quot;,
418
+ &quot;Settings&quot;: {
419
+ &quot;Label&quot;: &quot;Pathogene organe non defini&quot;,
420
+ &quot;Default_Value&quot;: null
421
+ },
422
+ &quot;Children&quot;: [{
423
+ &quot;Label&quot;: &quot;Maladie fongique non définie&quot;
424
+ },{
425
+ &quot;Label&quot;: &quot;Criblure du laurier&quot;
426
+ },{
427
+ &quot;Label&quot;: &quot;Armillaria mellea&quot;
428
+ },{
429
+ &quot;Label&quot;: &quot;Armillaria ostoyae&quot;
430
+ },{
431
+ &quot;Label&quot;: &quot;Armillaria tabescens&quot;
432
+ }]
433
+ },
434
+ {
435
+ &quot;System_Name&quot;: &quot;Note&quot;,
436
+ &quot;Type&quot;: &quot;text&quot;,
437
+ &quot;Required&quot;: &quot;false&quot;,
438
+ &quot;Settings&quot;: {
439
+ &quot;Label&quot;: &quot;Remarque&quot;,
440
+ &quot;Default_Value&quot;: null
441
+ }
442
+ },
443
+ {
444
+ &quot;System_Name&quot;: &quot;Recommandation&quot;,
445
+ &quot;Type&quot;: &quot;select&quot;,
446
+ &quot;Required&quot;: &quot;false&quot;,
447
+ &quot;Settings&quot;: {
448
+ &quot;Label&quot;: &quot;Recommandation&quot;,
449
+ &quot;Default_Value&quot;: null
450
+ },
451
+ &quot;Children&quot;: [{
452
+ &quot;Label&quot;: &quot;Plantation et suivi - Autres&quot;
453
+ },{
454
+ &quot;Label&quot;: &quot;Taille d entretien&quot;
455
+ },{
456
+ &quot;Label&quot;: &quot;Taille spécifique&quot;
457
+ },{
458
+ &quot;Label&quot;: &quot;Taille sanitaire&quot;
459
+ },{
460
+ &quot;Label&quot;: &quot;Taille de formation&quot;
461
+ },{
462
+ &quot;Label&quot;: &quot;Taille - Autres&quot;
463
+ },{
464
+ &quot;Label&quot;: &quot;Traitement - contrôle&quot;
465
+ }]
466
+ }
467
+ ]
468
+ }" api-key="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" render-form="true" display-status="true" debug="true" context="ecoteka" language="fr"></voice-input-module> </div> <div id="result2" class="result-display" style="display: none;"> <strong>Form Filled Result:</strong> <pre id="result2-content"></pre> </div> <div class="demo-section"> <div class="demo-title">Demo XML Conversion Utilities</div> <p>The component also provides XML ⟷ JSON conversion utilities:</p> <button onclick="testXmlConversion()">Test XML Conversion</button> <div id="xml-result" style="display: none; margin-top: 1rem;"> <div class="schema-example" id="xml-content"></div> </div> </div> <div class="demo-section"> <div class="demo-title">TRACK Legacy XML demo</div> <button onclick="testTrackXmlConversion()">Test TRACK Legacy XML Conversion</button> <div id="track-xml-result" style="display: none; margin-top: 1rem;"> <div class="schema-example" id="track-xml-content"></div> </div> </div> </div> <script>
469
+
470
+ // Handle form filled events
471
+ document.getElementById('demo2').addEventListener('formFilled', (event) => {
472
+ const result = event.detail;
473
+ const resultDiv = document.getElementById('result2');
474
+ const resultContent = document.getElementById('result2-content');
475
+
476
+ resultContent.textContent = JSON.stringify(result, null, 2);
477
+ resultDiv.style.display = 'block';
478
+ console.log('Demo 2 Form Filled:', result);
479
+
480
+ // Update debug information if available
481
+ if (result.debugInfo) {
482
+ const debugContent = document.getElementById('debug2');
483
+ debugContent.innerHTML = `
484
+ <div class="debug-title">Debug Information:</div>
485
+ <pre class="debug-content">${JSON.stringify(result.debugInfo, null, 2)}</pre>
486
+ `;
487
+ }
488
+ });
489
+
490
+ document.getElementById('demo3').addEventListener('formFilled', (event) => {
491
+ const result = event.detail;
492
+ console.log('Raw Component Demo Form Filled:', result);
493
+ });
494
+
495
+ document.getElementById('demo4').addEventListener('formFilled', (event) => {
496
+ const result = event.detail;
497
+ console.log('Raw Component Demo Form Filled:', result);
498
+ });
499
+
500
+ //-----------------------------------
501
+ // Test XML conversion
502
+ function testXmlConversion() {
503
+ console.log("testXmlConversion");
504
+ const xmlForm = `
505
+ <form title="Sample Form">
506
+ <input name="name" type="text" title="Full Name" required="true" />
507
+ <input name="age" type="number" title="Age" min="18" max="100" />
508
+ <input name="subscribe" type="checkbox" title="Subscribe to Newsletter" />
509
+ <select name="country" title="Country">
510
+ <option value="us">United States</option>
511
+ <option value="ca">Canada</option>
512
+ <option value="uk">United Kingdom</option>
513
+ </select>
514
+ </form>
515
+ `;
516
+
517
+ const component = document.getElementById('demo2');
518
+ try {
519
+ component.convertXmlToJsonLegacy(xmlForm).then((jsonresult) => {
520
+ const backToXml = component.convertJsonToXmlLegacy(jsonresult).then((xmlresult) => {
521
+ const resultDiv = document.getElementById('xml-result');
522
+ const xmlContent = document.getElementById('xml-content');
523
+
524
+ xmlContent.innerHTML = `
525
+ <strong>Original XML:</strong>
526
+ ${xmlForm}
527
+ <br />
528
+
529
+ <strong>Converted to JSON:</strong>
530
+ ${JSON.stringify(jsonresult, null, 2)}
531
+ <br />
532
+ <br />
533
+
534
+ <strong>Back to XML:</strong>
535
+ ${xmlresult}
536
+ <br />
537
+
538
+ <div>To Component Result:</div>
539
+ <voice-input-module
540
+ id="fromxml"
541
+ form-json='${JSON.stringify(jsonresult, null, 2)}'
542
+ api-key="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"
543
+ render-form="true"
544
+ display-status="true"
545
+ debug="true"
546
+ context="track"
547
+ classification-root-url="http://localhost:8888"
548
+ >
549
+ </voice-input-module>
550
+
551
+ <div id='toxmlaftervoice'></div>
552
+ `;
553
+
554
+ resultDiv.style.display = 'block';
555
+
556
+ document.getElementById('fromxml').addEventListener('formFilled', (event) => {
557
+ const result = event.detail;
558
+ console.log('fromxml Demo Form Filled:', result);
559
+
560
+ component.convertJsonToXmlLegacy(result.data).then((finalxmlresult) => {
561
+ const finalxmlContent = document.getElementById('toxmlaftervoice');
562
+ console.log("finalxmlContent", finalxmlContent);
563
+
564
+ finalxmlContent.innerHTML = `
565
+ ${finalxmlresult}
566
+ `
567
+ });
568
+ });
569
+ });
570
+ });
571
+
572
+ } catch (error) {
573
+ alert('Conversion error: ' + error.message);
574
+ }
575
+ }
576
+
577
+ // Handle recording state changes
578
+ document.addEventListener('recordingStateChanged', (event) => {
579
+ console.log('Recording state changed:', event.detail);
580
+ });
581
+
582
+ //-----------------------------------
583
+ // TRACK Legacy XML conversion
584
+
585
+ function testTrackXmlConversion() {
586
+ // const xmlForm = `
587
+ // <Xforms>
588
+ // <Fields>
589
+ // <ID>input_10802764</ID>
590
+ // <TFie_PK_ID>1865032</TFie_PK_ID>
591
+ // <TVal_PK_ID>10802764</TVal_PK_ID>
592
+ // <TFIn_PK_ID>645682</TFIn_PK_ID>
593
+ // <isForm>Form</isForm>
594
+ // <LabelText>Poids</LabelText>
595
+ // <SystemName>Weight</SystemName>
596
+ // <CssStyle>cssHeader</CssStyle>
597
+ // <ControlType>Header</ControlType>
598
+ // <TFie_Fullpath> Poids</TFie_Fullpath>
599
+ // <TVal_FK_Parent_ID>0</TVal_FK_Parent_ID>
600
+ // </Fields>
601
+ // <Fields>
602
+ // <ID>input_10802765</ID>
603
+ // <TFie_PK_ID>1865032</TFie_PK_ID>
604
+ // <TVal_PK_ID>10802765</TVal_PK_ID>
605
+ // <TFIn_PK_ID>645682</TFIn_PK_ID>
606
+ // <isForm>Form Item</isForm>
607
+ // <LabelText>Poids</LabelText>
608
+ // <SystemName>Weight</SystemName>
609
+ // <CssStyle>cssHeader</CssStyle>
610
+ // <ControlType>Header</ControlType>
611
+ // <TFie_Fullpath> Poids Poids</TFie_Fullpath>
612
+ // <TVal_FK_Parent_ID>10802764</TVal_FK_Parent_ID>
613
+ // </Fields>
614
+ // <Fields>
615
+ // <ID>input_10802766</ID>
616
+ // <TFie_PK_ID>1865033</TFie_PK_ID>
617
+ // <TVal_PK_ID>10802766</TVal_PK_ID>
618
+ // <TFIn_PK_ID>645682</TFIn_PK_ID>
619
+ // <Enabled>True</Enabled>
620
+ // <isForm>Field</isForm>
621
+ // <LabelText>Poids</LabelText>
622
+ // <SystemName>Weight</SystemName>
623
+ // <HelpText/>
624
+ // <CssStyle>cssNormal</CssStyle>
625
+ // <Value/>
626
+ // <ControlType>RealPicker</ControlType>
627
+ // <ValidationRequired>Required</ValidationRequired>
628
+ // <ValidationMin>10</ValidationMin>
629
+ // <ValidationMax>3500</ValidationMax>
630
+ // <Mask/>
631
+ // <TypeId>5519</TypeId>
632
+ // <Unit>gramme(s)</Unit>
633
+ // <TFie_Fullpath> Poids Poids</TFie_Fullpath>
634
+ // <TVal_FK_Parent_ID>10802765</TVal_FK_Parent_ID>
635
+ // <DefaultValue/>
636
+ // </Fields>
637
+ // <Fields>
638
+ // <ID>input_10802767</ID>
639
+ // <TFie_PK_ID>1865034</TFie_PK_ID>
640
+ // <TVal_PK_ID>10802767</TVal_PK_ID>
641
+ // <TFIn_PK_ID>645682</TFIn_PK_ID>
642
+ // <Enabled>True</Enabled>
643
+ // <isForm>Field</isForm>
644
+ // <LabelText>Notes</LabelText>
645
+ // <SystemName>Comment</SystemName>
646
+ // <HelpText/>
647
+ // <CssStyle>cssNormal</CssStyle>
648
+ // <Value/>
649
+ // <ControlType>Multiline</ControlType>
650
+ // <ValidationRequired>Not Required</ValidationRequired>
651
+ // <ValidationMin/>
652
+ // <ValidationMax/>
653
+ // <Mask/>
654
+ // <TypeId>4231</TypeId>
655
+ // <Unit/>
656
+ // <TFie_Fullpath> Poids Notes</TFie_Fullpath>
657
+ // <TVal_FK_Parent_ID>10802765</TVal_FK_Parent_ID>
658
+ // <DefaultValue/>
659
+ // </Fields>
660
+ // </Xforms>`;
661
+ const xmlForm = `
662
+ <Xforms>
663
+ <Fields>
664
+ <ID>input_10804074</ID>
665
+ <TFie_PK_ID>1892825</TFie_PK_ID>
666
+ <TVal_PK_ID>10804074</TVal_PK_ID>
667
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
668
+ <isForm>Form</isForm>
669
+ <LabelText>Mort</LabelText>
670
+ <SystemName>Death</SystemName>
671
+ <CssStyle>cssHeader</CssStyle>
672
+ <ControlType>Header</ControlType>
673
+ <TFie_Fullpath> Mort</TFie_Fullpath>
674
+ <TVal_FK_Parent_ID>0</TVal_FK_Parent_ID>
675
+ </Fields>
676
+ <Fields>
677
+ <ID>input_10804075</ID>
678
+ <TFie_PK_ID>1892825</TFie_PK_ID>
679
+ <TVal_PK_ID>10804075</TVal_PK_ID>
680
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
681
+ <isForm>Form Item</isForm>
682
+ <LabelText>Mort</LabelText>
683
+ <SystemName>Death</SystemName>
684
+ <CssStyle>cssHeader</CssStyle>
685
+ <ControlType>Header</ControlType>
686
+ <TFie_Fullpath> Mort Mort</TFie_Fullpath>
687
+ <TVal_FK_Parent_ID>10804074</TVal_FK_Parent_ID>
688
+ </Fields>
689
+ <Fields>
690
+ <ID>input_10804076</ID>
691
+ <TFie_PK_ID>1892826</TFie_PK_ID>
692
+ <TVal_PK_ID>10804076</TVal_PK_ID>
693
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
694
+ <Enabled>True</Enabled>
695
+ <isForm>Field</isForm>
696
+ <LabelText>Statut de sortie</LabelText>
697
+ <SystemName>Exit status</SystemName>
698
+ <HelpText></HelpText>
699
+ <CssStyle>cssNormal</CssStyle>
700
+ <Value>Death status>Dead</Value>
701
+ <ControlType>ThesaurusPicker</ControlType>
702
+ <ValidationRequired>Required</ValidationRequired>
703
+ <ValidationMin></ValidationMin>
704
+ <ValidationMax></ValidationMax>
705
+ <Mask></Mask>
706
+ <TypeId>2013199</TypeId>
707
+ <Unit></Unit>
708
+ <TFie_Fullpath> Mort Statut de sortie</TFie_Fullpath>
709
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
710
+ <DefaultValue>Death status>Dead</DefaultValue>
711
+ </Fields>
712
+ <Fields>
713
+ <ID>input_10804077</ID>
714
+ <TFie_PK_ID>1892827</TFie_PK_ID>
715
+ <TVal_PK_ID>10804077</TVal_PK_ID>
716
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
717
+ <Enabled>True</Enabled>
718
+ <isForm>Field</isForm>
719
+ <LabelText>Date de sortie</LabelText>
720
+ <SystemName>Exit date</SystemName>
721
+ <HelpText></HelpText>
722
+ <CssStyle>cssNormal</CssStyle>
723
+ <Value></Value>
724
+ <ControlType>DatePicker</ControlType>
725
+ <ValidationRequired>Required</ValidationRequired>
726
+ <ValidationMin></ValidationMin>
727
+ <ValidationMax></ValidationMax>
728
+ <Mask></Mask>
729
+ <TypeId>4383</TypeId>
730
+ <Unit></Unit>
731
+ <TFie_Fullpath> Mort Date de sortie</TFie_Fullpath>
732
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
733
+ <DefaultValue></DefaultValue>
734
+ </Fields>
735
+ <Fields>
736
+ <ID>input_10804078</ID>
737
+ <TFie_PK_ID>1892828</TFie_PK_ID>
738
+ <TVal_PK_ID>10804078</TVal_PK_ID>
739
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
740
+ <Enabled>False</Enabled>
741
+ <isForm>Field</isForm>
742
+ <LabelText>Position</LabelText>
743
+ <SystemName>Location</SystemName>
744
+ <HelpText></HelpText>
745
+ <CssStyle>cssNormal</CssStyle>
746
+ <Value></Value>
747
+ <ControlType>TermPicker</ControlType>
748
+ <ValidationRequired>Required</ValidationRequired>
749
+ <ValidationMin></ValidationMin>
750
+ <ValidationMax></ValidationMax>
751
+ <Mask></Mask>
752
+ <TypeId>80713</TypeId>
753
+ <Unit></Unit>
754
+ <TFie_Fullpath> Mort Position</TFie_Fullpath>
755
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
756
+ <DefaultValue></DefaultValue>
757
+ </Fields>
758
+ <Fields>
759
+ <ID>input_10804079</ID>
760
+ <TFie_PK_ID>1892829</TFie_PK_ID>
761
+ <TVal_PK_ID>10804079</TVal_PK_ID>
762
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
763
+ <Enabled>True</Enabled>
764
+ <isForm>Field</isForm>
765
+ <LabelText>Type de mort</LabelText>
766
+ <SystemName>Death type</SystemName>
767
+ <HelpText></HelpText>
768
+ <CssStyle>cssNormal</CssStyle>
769
+ <Value></Value>
770
+ <ControlType>ThesaurusPicker</ControlType>
771
+ <ValidationRequired>Required</ValidationRequired>
772
+ <ValidationMin></ValidationMin>
773
+ <ValidationMax></ValidationMax>
774
+ <Mask></Mask>
775
+ <TypeId>167303</TypeId>
776
+ <Unit></Unit>
777
+ <TFie_Fullpath> Mort Type de mort</TFie_Fullpath>
778
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
779
+ <DefaultValue></DefaultValue>
780
+ </Fields>
781
+ <Fields>
782
+ <ID>input_10804080</ID>
783
+ <TFie_PK_ID>1892830</TFie_PK_ID>
784
+ <TVal_PK_ID>10804080</TVal_PK_ID>
785
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
786
+ <Enabled>True</Enabled>
787
+ <isForm>Field</isForm>
788
+ <LabelText>Poids</LabelText>
789
+ <SystemName>Weight</SystemName>
790
+ <HelpText></HelpText>
791
+ <CssStyle>cssNormal</CssStyle>
792
+ <Value></Value>
793
+ <ControlType>RealPicker</ControlType>
794
+ <ValidationRequired>Not Required</ValidationRequired>
795
+ <ValidationMin>10</ValidationMin>
796
+ <ValidationMax>3500</ValidationMax>
797
+ <Mask></Mask>
798
+ <TypeId>5519</TypeId>
799
+ <Unit>gramme(s)</Unit>
800
+ <TFie_Fullpath> Mort Poids</TFie_Fullpath>
801
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
802
+ <DefaultValue></DefaultValue>
803
+ </Fields>
804
+ <Fields>
805
+ <ID>input_10804081</ID>
806
+ <TFie_PK_ID>1892831</TFie_PK_ID>
807
+ <TVal_PK_ID>10804081</TVal_PK_ID>
808
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
809
+ <Enabled>False</Enabled>
810
+ <isForm>Field</isForm>
811
+ <LabelText>Sentinelle</LabelText>
812
+ <SystemName>Sentinel</SystemName>
813
+ <HelpText></HelpText>
814
+ <CssStyle>cssNormal</CssStyle>
815
+ <Value>Yes/No>No</Value>
816
+ <ControlType>ThesaurusPicker</ControlType>
817
+ <ValidationRequired>Required</ValidationRequired>
818
+ <ValidationMin></ValidationMin>
819
+ <ValidationMax></ValidationMax>
820
+ <Mask></Mask>
821
+ <TypeId>167278</TypeId>
822
+ <Unit></Unit>
823
+ <TFie_Fullpath> Mort Sentinelle</TFie_Fullpath>
824
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
825
+ <DefaultValue>Yes/No>No</DefaultValue>
826
+ </Fields>
827
+ <Fields>
828
+ <ID>input_10804082</ID>
829
+ <TFie_PK_ID>1892832</TFie_PK_ID>
830
+ <TVal_PK_ID>10804082</TVal_PK_ID>
831
+ <TFIn_PK_ID>645940</TFIn_PK_ID>
832
+ <Enabled>True</Enabled>
833
+ <isForm>Field</isForm>
834
+ <LabelText>Notes</LabelText>
835
+ <SystemName>Comment</SystemName>
836
+ <HelpText></HelpText>
837
+ <CssStyle>cssNormal</CssStyle>
838
+ <Value></Value>
839
+ <ControlType>Multiline</ControlType>
840
+ <ValidationRequired>Not Required</ValidationRequired>
841
+ <ValidationMin></ValidationMin>
842
+ <ValidationMax></ValidationMax>
843
+ <Mask></Mask>
844
+ <TypeId>4231</TypeId>
845
+ <Unit></Unit>
846
+ <TFie_Fullpath> Mort Notes</TFie_Fullpath>
847
+ <TVal_FK_Parent_ID>10804075</TVal_FK_Parent_ID>
848
+ <DefaultValue></DefaultValue>
849
+ </Fields>
850
+ </Xforms>
851
+ `;
852
+
853
+ const component = document.getElementById('demo2');
854
+ try {
855
+ component.convertXmlToJson(xmlForm).then((jsonresult) => {
856
+ const jsonresultsaved = JSON.parse(JSON.stringify(jsonresult));
857
+ const jsonresultSTR = JSON.stringify(jsonresult, null, 2).replace("'", "");
858
+ const backToXml = component.convertJsonToXml(jsonresult).then((xmlresult) => {
859
+ const resultDiv = document.getElementById('track-xml-result');
860
+ const xmlContent = document.getElementById('track-xml-content');
861
+
862
+ xmlContent.innerHTML = `
863
+ <strong>Original XML:</strong>
864
+ <br />
865
+ <textarea>
866
+ ${xmlForm}
867
+ </textarea>
868
+ <br />
869
+
870
+ <strong>Converted to JSON:</strong>
871
+ ${jsonresultSTR}
872
+ <br />
873
+ <br />
874
+
875
+ <strong>Back to XML:</strong>
876
+ <br />
877
+ <textarea>
878
+ ${xmlresult}
879
+ </textarea>
880
+ <br />
881
+
882
+ <div>To Component Result:</div>
883
+ <voice-input-module
884
+ id="fromxml"
885
+ form-json='${jsonresultSTR}'
886
+ api-key="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"
887
+ render-form="true"
888
+ display-status="true"
889
+ debug="true"
890
+ context="track"
891
+ language="fr"
892
+ classification-root-url="http://localhost:8888"
893
+ >
894
+ </voice-input-module>
895
+ <br/><br/>
896
+ <textarea id='toxmlaftervoice'></textarea>
897
+ `;
898
+
899
+ resultDiv.style.display = 'block';
900
+
901
+ document.getElementById('fromxml').addEventListener('formFilled', (event) => {
902
+ const result = event.detail;
903
+ console.log('fromxml Demo Form Filled:', result);
904
+
905
+ component.convertJsonToXml(result.data).then((finalxmlresult) => {
906
+ const finalxmlContent = document.getElementById('toxmlaftervoice');
907
+ console.log("finalxmlContent", finalxmlContent);
908
+
909
+ finalxmlContent.innerHTML = `
910
+ ${finalxmlresult}
911
+ `
912
+ });
913
+ });
914
+ });
915
+ });
916
+
917
+ } catch (error) {
918
+ alert('Conversion error: ' + error.message);
919
+ }
920
+ }
921
+
922
+ </script> </body></html>