@argusoft/medplat-app-shell 1.0.6 → 1.0.8

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 (264) hide show
  1. package/package.json +139 -141
  2. package/src/GlobalErrorBoundary.jsx +31 -0
  3. package/src/SilentErrorFallback.jsx +68 -0
  4. package/src/TrackingProviderWrapper.jsx +40 -0
  5. package/src/_tests_/__mocks__/MockTranslationProvider.jsx +21 -0
  6. package/src/_tests_/__mocks__/ckeditor.js +45 -0
  7. package/src/_tests_/__mocks__/fileMock.js +1 -0
  8. package/src/_tests_/__mocks__/useranalytics.js +5 -0
  9. package/src/_tests_/views/components/Dashboard/DashboardUI.test.jsx +137 -0
  10. package/src/_tests_/views/components/Dashboard/DashboardUIMock.js +877 -0
  11. package/src/_tests_/views/components/ForgotPassword/ForgotPassword.test.jsx +314 -0
  12. package/src/_tests_/views/components/LocationDirective/LocationDirective.test.jsx.disable +229 -0
  13. package/src/_tests_/views/components/LocationDirective/mockLocationDirective.js +810 -0
  14. package/src/_tests_/views/components/LocationType/MockLocationType.js +42259 -0
  15. package/src/_tests_/views/components/LocationType/addlocationtype.test.jsx.disable +276 -0
  16. package/src/_tests_/views/components/LocationType/editlocationtype.test.jsx.disable +262 -0
  17. package/src/_tests_/views/components/LocationType/locationtype.test.jsx.disable +148 -0
  18. package/src/_tests_/views/components/Profile/UpdateProfileModalData.js +4396 -0
  19. package/src/_tests_/views/components/Profile/updateprofilemodal.test.jsx +282 -0
  20. package/src/_tests_/views/components/SideBar/MockSideBar.js +1379 -0
  21. package/src/_tests_/views/components/SideBar/SideBar.test.jsx +98 -0
  22. package/src/_tests_/views/components/SystemConfig/ManageSystemConfig/AddManageSystemConfig.test.jsx.disable +164 -0
  23. package/src/_tests_/views/components/SystemConfig/ManageSystemConfig/UpdateManageSystemConfig.test.jsx.disable +157 -0
  24. package/src/_tests_/views/components/SystemConfig/MockSystemConfig.js +1280 -0
  25. package/src/_tests_/views/components/SystemConfig/SystemConfig.test.jsx.disable +165 -0
  26. package/src/_tests_/views/components/login/Login.test.jsx +276 -0
  27. package/src/_tests_/views/components/login/MockAuthorise.js +2414 -0
  28. package/src/_tests_/views/components/login/ServiceResponse.js +595 -0
  29. package/src/_tests_/views/components/user/MockManageUser.js +7965 -0
  30. package/src/_tests_/views/components/user/manageuser.test.jsx.disable +989 -0
  31. package/src/_tests_/views/components/user/mockUsersData.js +582 -0
  32. package/src/assets/img/OASISLogin.png +0 -0
  33. package/src/assets/img/bahaarNew.png +0 -0
  34. package/src/assets/img/dnhdd4K.png +0 -0
  35. package/src/assets/img/govtofup.png +0 -0
  36. package/src/assets/img/sewarural4K.png +0 -0
  37. package/src/assets/img/techo4K.png +0 -0
  38. package/src/assets/img/up4K.png +0 -0
  39. package/src/common/HolidayList.jsx +573 -0
  40. package/src/common/MalaciaousInputUtil.js +23 -0
  41. package/src/common/SafeHtml.jsx +17 -0
  42. package/src/common/VersionManager.jsx +109 -0
  43. package/src/common/constants/PerformanceDashboard.js +514 -0
  44. package/src/common/constants/app.constant.js +781 -0
  45. package/src/common/constants/cccVerificationConstants.js +18 -0
  46. package/src/common/constants/fhsrConstant.js +33 -0
  47. package/src/common/constants/gvk-verification.constant.js +76 -0
  48. package/src/common/constants/search.constant.js +23 -0
  49. package/src/common/constants/teleconsulatationConstant.jsx +1339 -0
  50. package/src/common/directives/SearchTemplate.jsx +784 -0
  51. package/src/common/directives/SearchTemplate.scss +14 -0
  52. package/src/common/dynamicView/DynamicView.jsx +353 -0
  53. package/src/common/dynamicView/InputFieldComponent.jsx +1501 -0
  54. package/src/common/dynamicView/InputViewComponent.jsx +298 -0
  55. package/src/common/dynamicView/InputViewComponent.scss +15 -0
  56. package/src/common/env.js +5 -0
  57. package/src/common/filters/locationNameFilter.js +26 -0
  58. package/src/common/fontAwesomeIcons/FontAwesomeIcons.jsx +27 -0
  59. package/src/common/fontAwesomeIcons/FontAwesomeIconsNames.js +1968 -0
  60. package/src/common/fontPreferences/fontSizeProvider.jsx +34 -0
  61. package/src/common/fontPreferences/fontSizeSelector.jsx +116 -0
  62. package/src/common/getAssignedFeature/getAssignedFeature.js +32 -0
  63. package/src/common/interceptors/AxiosInterceptor.js +216 -0
  64. package/src/common/languageTranslator/TranslationContext.js +5 -0
  65. package/src/common/languageTranslator/TranslationProvider.jsx +24 -0
  66. package/src/common/languageTranslator/i18n.js +49 -0
  67. package/src/common/services/AuthenticateService.js +116 -0
  68. package/src/common/services/DownloadFile.js +35 -0
  69. package/src/common/services/ForgotPassword.js +18 -0
  70. package/src/common/services/FormConfiguratorService.js +195 -0
  71. package/src/common/services/GlobalApis.js +84 -0
  72. package/src/common/services/InterceptorNavigationService.js +17 -0
  73. package/src/common/services/LocationService.js +65 -0
  74. package/src/common/services/LocationType.js +11 -0
  75. package/src/common/services/QueryBuilder.js +36 -0
  76. package/src/common/services/Roles.js +28 -0
  77. package/src/common/services/SyncWithServer.js +15 -0
  78. package/src/common/services/SystemConfig.js +15 -0
  79. package/src/common/services/TranslationService.js +70 -0
  80. package/src/common/services/TwoFactorService.js +7 -0
  81. package/src/common/services/Users.js +91 -0
  82. package/src/common/services/Webtasks.js +27 -0
  83. package/src/common/services/util/Convert-pad-data-to-API-format.jsx +167 -0
  84. package/src/common/services/util/Convert-to-UI-format.jsx +82 -0
  85. package/src/common/services/util/EmptyPrescriptionPadData.jsx +11 -0
  86. package/src/common/services/util/GeneralUtil.js +456 -0
  87. package/src/common/services/util/Prescription-pad-util.js +339 -0
  88. package/src/common/services/util/PrescriptionPadData.js +67 -0
  89. package/src/common/services/util/PrescriptionpadCommonUtil.js +96 -0
  90. package/src/common/services/util/ReportFieldUtil.jsx +398 -0
  91. package/src/common/services/util/WebSocketContext.jsx +261 -0
  92. package/src/common/syncWithServer/SyncWithServerDialog.jsx +170 -0
  93. package/src/common/syncWithServer/SyncWithServerDialogSkeleton.jsx +67 -0
  94. package/src/common/tests/CustomWrapper.jsx +49 -0
  95. package/src/common/tests/TranslationWrapper.jsx +38 -0
  96. package/src/common/themeProvider/ColorInputs.jsx +97 -0
  97. package/src/common/themeProvider/EditableColorInput.jsx +128 -0
  98. package/src/common/themeProvider/ThemeEditor.jsx +319 -0
  99. package/src/common/themeProvider/ThemeProvider.jsx +210 -0
  100. package/src/common/themeProvider/themeConfig.js +558 -0
  101. package/src/common/toaster/toaster.jsx +30 -0
  102. package/src/firebaseConfig.js +24 -0
  103. package/src/global.scss +221 -0
  104. package/src/hooks/.gitkeep +0 -0
  105. package/src/hooks/useAESEncryption.js +56 -0
  106. package/src/hooks/useCaching.js +43 -0
  107. package/src/hooks/useDebounce.js +34 -0
  108. package/src/hooks/useDebounceFn.js +50 -0
  109. package/src/hooks/useDownloadPdf.js +358 -0
  110. package/src/hooks/useDownloadXlsx.js +55 -0
  111. package/src/hooks/useListValueFieldValues.js +30 -0
  112. package/src/hooks/useLocationHierarchies.js +63 -0
  113. package/src/hooks/useLocationHierarchyTranslate.js +16 -0
  114. package/src/hooks/useOnline.js +27 -0
  115. package/src/hooks/usePagination.js +63 -0
  116. package/src/hooks/useRefreshToken.js +87 -0
  117. package/src/hooks/useScript.js +25 -0
  118. package/src/hooks/useStopwatch.js +75 -0
  119. package/src/hooks/useTrackEvent.js +22 -0
  120. package/src/hooks/useWebAudioRecorder.js +115 -0
  121. package/src/layout/LoaderComponet.jsx +22 -0
  122. package/src/layout/LoaderContext.jsx +29 -0
  123. package/src/layout/mainLayout/AdaptiveZoom.jsx +27 -0
  124. package/src/layout/mainLayout/Chatbot.jsx +243 -0
  125. package/src/layout/mainLayout/Layout.jsx +445 -0
  126. package/src/layout/mainLayout/Profile/UpdateProfileModal.jsx +684 -0
  127. package/src/layout/mainLayout/header/LogoutModal.jsx +131 -0
  128. package/src/layout/mainLayout/header/Navbar.jsx +1677 -0
  129. package/src/layout/mainLayout/header/Navbar.scss +4 -0
  130. package/src/layout/mainLayout/header/index.js +0 -0
  131. package/src/layout/mainLayout/sidebar/SideBar.jsx +1402 -0
  132. package/src/layout/mainLayout/sidebar/Sidebar.css +159 -0
  133. package/src/layout/mainLayout/sidebar/index.js +0 -0
  134. package/src/logo.svg +1 -0
  135. package/src/reportWebVitals.js +13 -0
  136. package/src/setupFirebaseMessaging.js +28 -0
  137. package/src/setupTests.js +8 -0
  138. package/src/store/actions/AuthenticationActions.js +0 -0
  139. package/src/store/actions/ReportsActions.js +0 -0
  140. package/src/store/actions/TranslationAction.js +0 -0
  141. package/src/store/index.js +8 -0
  142. package/src/store/reducer.js +46 -0
  143. package/src/store/reducers/AuthenticationReducer.js +50 -0
  144. package/src/store/reducers/CalendarEventReducer.js +41 -0
  145. package/src/store/reducers/ConditionClipboardReducer.js +45 -0
  146. package/src/store/reducers/FeatureReducer.js +27 -0
  147. package/src/store/reducers/FormConfiguratorReducer.js +38 -0
  148. package/src/store/reducers/LoadingReducer.js +20 -0
  149. package/src/store/reducers/MembersAuthenticationReducer.js +28 -0
  150. package/src/store/reducers/PrescriptionPadReducer.js +329 -0
  151. package/src/store/reducers/QuestionaireReducer.js +29 -0
  152. package/src/store/reducers/ReportsReducer.js +24 -0
  153. package/src/store/reducers/SkeletonReducer.js +20 -0
  154. package/src/store/reducers/ThemeReducer.js +106 -0
  155. package/src/store/reducers/TranslationReducer.js +126 -0
  156. package/src/store/reducers/dashboardEditorSlice.js +77 -0
  157. package/src/store/reducers/districtHealthDashboardSlice.js +58 -0
  158. package/src/store/reducers/immunizationSlice.js +234 -0
  159. package/src/store/slices/dashboardPagesSlice.js +51 -0
  160. package/src/store/slices/dashboardSlice.js +14 -0
  161. package/src/utils/.gitkeep +0 -0
  162. package/src/utils/FormConstants.js +2629 -0
  163. package/src/utils/GujaratTopoChart.jsx +483 -0
  164. package/src/utils/UUIDgenerator.js +8 -0
  165. package/src/utils/appointment-utils/appointment-utils.js +123 -0
  166. package/src/utils/feature.js +42 -0
  167. package/src/utils/getThemeColor.js +12 -0
  168. package/src/utils/localStorageHelper.js +11 -0
  169. package/src/utils/notifications/enable-push-notifications.js +27 -0
  170. package/src/utils/resolveAppliedStyle.js +11 -0
  171. package/src/utils/themeConfigs.js +1483 -0
  172. package/src/views/custom-components/.gitkeep +0 -0
  173. package/src/views/custom-components/AgIconButton/RIf.jsx +14 -0
  174. package/src/views/custom-components/AgIconButton/button.jsx +108 -0
  175. package/src/views/custom-components/AgIconButton/waterDrop.jsx +95 -0
  176. package/src/views/custom-components/AgIconButton/waterDrop.scss +37 -0
  177. package/src/views/custom-components/AlertPlaceholder.jsx +32 -0
  178. package/src/views/custom-components/AllFaIconsSelector.jsx +56 -0
  179. package/src/views/custom-components/CkEditor/CkEditor.js +102 -0
  180. package/src/views/custom-components/CustomAccordion.jsx +72 -0
  181. package/src/views/custom-components/CustomActionIcons.jsx +118 -0
  182. package/src/views/custom-components/CustomAutoComplete.jsx +188 -0
  183. package/src/views/custom-components/CustomCheckBox.jsx +60 -0
  184. package/src/views/custom-components/CustomConfirmationModal.jsx +118 -0
  185. package/src/views/custom-components/CustomCountrySelect.jsx +129 -0
  186. package/src/views/custom-components/CustomDatePicker.jsx +122 -0
  187. package/src/views/custom-components/CustomDropdown.jsx +191 -0
  188. package/src/views/custom-components/CustomFileUpload.jsx +387 -0
  189. package/src/views/custom-components/CustomFullCalendar.jsx +514 -0
  190. package/src/views/custom-components/CustomInfiniteScroll.jsx +126 -0
  191. package/src/views/custom-components/CustomRadioComponent.jsx +65 -0
  192. package/src/views/custom-components/CustomStatsComponent.jsx +114 -0
  193. package/src/views/custom-components/CustomSvgUpload.jsx +170 -0
  194. package/src/views/custom-components/CustomSwitch.jsx +37 -0
  195. package/src/views/custom-components/CustomTabPanel.jsx +19 -0
  196. package/src/views/custom-components/CustomTextArea.jsx +62 -0
  197. package/src/views/custom-components/CustomTextArea.scss +27 -0
  198. package/src/views/custom-components/CustomTextField.jsx +116 -0
  199. package/src/views/custom-components/CustomToggleSwitch.jsx +138 -0
  200. package/src/views/custom-components/CustomTooltip.jsx +51 -0
  201. package/src/views/custom-components/CustomZoomImage.jsx +134 -0
  202. package/src/views/custom-components/CustomizedTable/CustomizedTableV2.jsx +1407 -0
  203. package/src/views/custom-components/CustomizedTable/VirtualizeTableBody.jsx +295 -0
  204. package/src/views/custom-components/CustomizedTable/helper.jsx +159 -0
  205. package/src/views/custom-components/CustomizedTable.jsx +532 -0
  206. package/src/views/custom-components/EditInputField.jsx +174 -0
  207. package/src/views/custom-components/FieldDescription.jsx +22 -0
  208. package/src/views/custom-components/FileDisplayComponent.jsx +138 -0
  209. package/src/views/custom-components/FormItem.jsx +53 -0
  210. package/src/views/custom-components/GenericChart.jsx +80 -0
  211. package/src/views/custom-components/InfoBadge.jsx +60 -0
  212. package/src/views/custom-components/PostgresEditor.jsx +801 -0
  213. package/src/views/custom-components/ResizableEditAutocompleteField.jsx +249 -0
  214. package/src/views/custom-components/ResizableEditInputField.jsx +215 -0
  215. package/src/views/custom-components/ResizeableEditSelectField.jsx +197 -0
  216. package/src/views/custom-components/SideOverlay.jsx +113 -0
  217. package/src/views/custom-components/SideOverlay.scss +42 -0
  218. package/src/views/custom-components/calendar.scss +571 -0
  219. package/src/views/feature-components/.gitkeep +0 -0
  220. package/src/views/feature-components/Dashboard/DashboardUI.jsx +1043 -0
  221. package/src/views/feature-components/Dashboard/DhnddModal/AshaDataQualityVerificationModal.jsx +278 -0
  222. package/src/views/feature-components/Dashboard/PinFeatureModal.jsx +143 -0
  223. package/src/views/feature-components/Dashboard/QuickLinks.jsx +163 -0
  224. package/src/views/feature-components/Dashboard/Taskbar.jsx +56 -0
  225. package/src/views/feature-components/Dashboard/WebtasksFilterForm.jsx +109 -0
  226. package/src/views/feature-components/Dashboard/WidgetCard.jsx +161 -0
  227. package/src/views/feature-components/Dashboard/actionModal.jsx +263 -0
  228. package/src/views/feature-components/Dashboard/ekavachModal/HealthWorkerIncorrectDetailsModal.jsx +332 -0
  229. package/src/views/feature-components/Dashboard/ekavachModal/MoMaternalDeathVerifcationModal.jsx +275 -0
  230. package/src/views/feature-components/Dashboard/ekavachModal/MoVerficationForChildScreeningMoadal.jsx +566 -0
  231. package/src/views/feature-components/FeatureUsageAnalytics/FeatureUsageAnalytics.jsx +989 -0
  232. package/src/views/feature-components/Features/NewServerManagement.jsx +217 -0
  233. package/src/views/feature-components/Features/ServerManagement.scss +120 -0
  234. package/src/views/feature-components/ForgotPassword/ForgotPassword.jsx +226 -0
  235. package/src/views/feature-components/LocationDirective/LocationDirective.jsx +992 -0
  236. package/src/views/feature-components/LocationDirective/LocationDirectiveV2.jsx +909 -0
  237. package/src/views/feature-components/NotFound.jsx +66 -0
  238. package/src/views/feature-components/Onboarding/Onboarding.jsx +1400 -0
  239. package/src/views/feature-components/Skeletons.js +115 -0
  240. package/src/views/feature-components/Unauthorized.jsx +48 -0
  241. package/src/views/feature-components/VerifyRoute.jsx +88 -0
  242. package/src/views/feature-components/YearlyRecap/YearlyRecap.jsx +357 -0
  243. package/src/views/feature-components/YearlyRecap/components/RecapSlide.jsx +183 -0
  244. package/src/views/feature-components/YearlyRecap/languageTranslator/TranslationContext.js +5 -0
  245. package/src/views/feature-components/YearlyRecap/languageTranslator/TranslationProvider.jsx +26 -0
  246. package/src/views/feature-components/YearlyRecap/languageTranslator/i18n.js +46 -0
  247. package/src/views/feature-components/YearlyRecap/languageTranslator/translations.json +167 -0
  248. package/src/views/feature-components/YearlyRecap/slides/IntroSlide.jsx +233 -0
  249. package/src/views/feature-components/YearlyRecap/slides/MaternalHealthSlide.jsx +146 -0
  250. package/src/views/feature-components/YearlyRecap/slides/MetricSlide.jsx +227 -0
  251. package/src/views/feature-components/YearlyRecap/slides/OutroSlide.jsx +701 -0
  252. package/src/views/feature-components/YearlyRecap/slides/ReachSlide.jsx +273 -0
  253. package/src/views/feature-components/login/Login.jsx +840 -0
  254. package/src/views/feature-components/login/Login.scss +154 -0
  255. package/src/views/feature-components/login/LoginConfigurator.jsx +1149 -0
  256. package/src/views/feature-components/login/TwoFactorSetupModal.jsx +411 -0
  257. package/src/views/feature-components/login/simplifyMenu.js +45 -0
  258. package/src/views/feature-components/system-config/ManageSystemConfigs.jsx +284 -0
  259. package/src/views/feature-components/system-config/SystemConfig.jsx +299 -0
  260. package/src/views/feature-components/users/ChangePasswordModal.jsx +243 -0
  261. package/src/views/feature-components/users/PasswordField.jsx +56 -0
  262. package/dist/index.css +0 -1
  263. package/dist/index.js +0 -32001
  264. package/dist/index.js.map +0 -1
@@ -0,0 +1,2629 @@
1
+ import { generateUUID } from '@/utils/UUIDgenerator';
2
+
3
+ export const defaultFormObject = [
4
+ {
5
+ id: '1e20cb7f-26e5-4b8c-89f7-d84966c81338',
6
+ title: '__formData__',
7
+ isArray: false,
8
+ nodes: [
9
+ {
10
+ id: '925e56ac-4d60-c35e-44a3-a0978982011d',
11
+ title: 'details',
12
+ label: 'Details',
13
+ isArray: false,
14
+ nodes: [],
15
+ path: '__formData__.details',
16
+ indexAlias: '',
17
+ },
18
+ ],
19
+ path: '__formData__',
20
+ },
21
+ {
22
+ id: 'c3ac5c4d-55a4-4041-a05c-3deceff267b1',
23
+ title: '__infoData__',
24
+ isArray: false,
25
+ nodes: [],
26
+ path: '__infoData__',
27
+ },
28
+ ];
29
+
30
+ export const fieldValueDropdownOptionsByKeyInitialData = {
31
+ optionsType: [
32
+ {
33
+ id: 'staticOptions',
34
+ label: 'Static Options',
35
+ },
36
+ {
37
+ id: 'listValueField',
38
+ label: 'List Value Field',
39
+ },
40
+ {
41
+ id: 'queryBuilder',
42
+ label: 'Query',
43
+ },
44
+ {
45
+ id: 'variableList',
46
+ label: 'Variable',
47
+ },
48
+ ],
49
+ templateType: [
50
+ {
51
+ id: 'twoPart',
52
+ label: 'Two Part',
53
+ },
54
+ {
55
+ id: 'inline',
56
+ label: 'Inline',
57
+ },
58
+ ],
59
+ displayType: [
60
+ {
61
+ id: 'text',
62
+ label: 'Text',
63
+ },
64
+ {
65
+ id: 'boolean',
66
+ label: 'Boolean',
67
+ },
68
+ {
69
+ id: 'date',
70
+ label: 'Date',
71
+ },
72
+ {
73
+ id: 'dateAndTime',
74
+ label: 'Date and Time',
75
+ },
76
+ {
77
+ id: 'gender',
78
+ label: 'Gender',
79
+ },
80
+ {
81
+ id: 'familyPlanning',
82
+ label: 'Family Planning',
83
+ },
84
+ {
85
+ id: 'sdScore',
86
+ label: 'SD Score',
87
+ },
88
+ {
89
+ id: 'listValueFieldValue',
90
+ label: 'List Value Field Value',
91
+ },
92
+ {
93
+ id: 'location',
94
+ label: 'Location',
95
+ },
96
+ {
97
+ id: 'array',
98
+ label: 'Array',
99
+ },
100
+ {
101
+ id: 'html',
102
+ label: 'HTML',
103
+ },
104
+ ],
105
+ sourceValueType: [
106
+ {
107
+ id: 'text',
108
+ label: 'Text',
109
+ },
110
+ {
111
+ id: 'html',
112
+ label: 'HTML',
113
+ },
114
+ {
115
+ id: 'qrcode',
116
+ label: 'QR Code',
117
+ },
118
+ {
119
+ id: 'alert',
120
+ label: 'Alert',
121
+ },
122
+ ],
123
+ alertType: [
124
+ {
125
+ id: 'error',
126
+ label: 'Error',
127
+ },
128
+ {
129
+ id: 'success',
130
+ label: 'Success',
131
+ },
132
+ {
133
+ id: 'warning',
134
+ label: 'Warning',
135
+ },
136
+ {
137
+ id: 'information',
138
+ label: 'Information',
139
+ },
140
+ ],
141
+ qRCodeSize: [
142
+ {
143
+ id: 'small',
144
+ label: 'Small',
145
+ },
146
+ {
147
+ id: 'medium',
148
+ label: 'Medium',
149
+ },
150
+ {
151
+ id: 'large',
152
+ label: 'Large',
153
+ },
154
+ {
155
+ id: 'extraLarge',
156
+ label: 'Extra Large',
157
+ },
158
+ ],
159
+ allowedSelection: [
160
+ {
161
+ id: 'ANY',
162
+ label: 'Any',
163
+ },
164
+ {
165
+ id: 'USER_ASSIGNED',
166
+ label: 'User Assigned',
167
+ },
168
+ ],
169
+ bindTo: [],
170
+ bindToForTableQueryConfig: [],
171
+ bindToForTableQueryConfigPaginated: [],
172
+ loadBy: [
173
+ { id: 'QUERY', label: 'Query' },
174
+ { id: 'FILTER', label: 'Filter' },
175
+ { id: 'VARIABLE', label: 'Variable' },
176
+ ],
177
+ profileType: [
178
+ { id: 'PREGNANT', label: 'Pregnant' },
179
+ { id: 'CHILD', label: 'Child' },
180
+ { id: 'OTHER', label: 'Other' },
181
+ ],
182
+ billProfileType: [
183
+ { id: 'PATIENT', label: 'Patient' },
184
+ { id: 'STOCK', label: 'Stocks' },
185
+ ],
186
+ chargesType: [
187
+ { id: 'PERCENTAGE', label: 'Percentage' },
188
+ { id: 'AMOUNT', label: 'Amount' },
189
+ ],
190
+ discountType: [
191
+ { id: 'PERCENTAGE', label: 'Percentage' },
192
+ { id: 'AMOUNT', label: 'Amount' },
193
+ ],
194
+ initialView: [
195
+ { id: 'day', label: 'day' },
196
+ { id: 'month', label: 'month' },
197
+ { id: 'year', label: 'year' },
198
+ ],
199
+ listValueField: [],
200
+ queryBuilder: [],
201
+ variableList: [],
202
+ maxField: [],
203
+ minField: [],
204
+ minDateField: [],
205
+ maxDateField: [],
206
+ minDateTimeField: [],
207
+ expiryDateField: [],
208
+ maxDateTimeField: [],
209
+ listValueFieldVisibility: [],
210
+ fields: [],
211
+ tableVariable: [],
212
+ infoVariable: [],
213
+ filterUUID: [],
214
+ requiredUptoLevel: [],
215
+ fetchUptoLevel: [],
216
+ allowedLocationTypes: [],
217
+ allowedLocationTypesDynamic: [],
218
+ allowedNoOfLocationsDynamic: [],
219
+ fetchUptoLevelDynamic: [],
220
+ requiredUptoLevelDynamic: [],
221
+ minDynamic: [],
222
+ maxDynamic: [],
223
+ minTimeDynamic: [],
224
+ maxTimeDynamic: [],
225
+ fileSaveLocation: [],
226
+ dropdownBehavior: [
227
+ {
228
+ id: 'Basic',
229
+ label: 'Basic',
230
+ },
231
+ {
232
+ id: 'Relational',
233
+ label: 'Relational',
234
+ },
235
+ ],
236
+ isStaticOrDynamic: [
237
+ {
238
+ id: 'STATIC',
239
+ label: 'STATIC',
240
+ },
241
+ {
242
+ id: 'DYNAMIC',
243
+ label: 'DYNAMIC',
244
+ },
245
+ ],
246
+ isMinStaticOrDynamic: [
247
+ {
248
+ id: 'STATIC',
249
+ label: 'STATIC',
250
+ },
251
+ {
252
+ id: 'DYNAMIC',
253
+ label: 'DYNAMIC',
254
+ },
255
+ ],
256
+ isMaxStaticOrDynamic: [
257
+ {
258
+ id: 'STATIC',
259
+ label: 'STATIC',
260
+ },
261
+ {
262
+ id: 'DYNAMIC',
263
+ label: 'DYNAMIC',
264
+ },
265
+ ],
266
+ mobileViewMode: [
267
+ {
268
+ id: 'LIST',
269
+ label: 'List',
270
+ },
271
+ {
272
+ id: 'TABLE',
273
+ label: 'Table',
274
+ },
275
+ {
276
+ id: 'GRID',
277
+ label: 'Grid',
278
+ },
279
+ ],
280
+ mobileGridLayout: [
281
+ {
282
+ id: 'CARD_VIEW',
283
+ label: 'Card view',
284
+ },
285
+ {
286
+ id: 'LIST_VIEW',
287
+ label: 'List view',
288
+ },
289
+ ],
290
+ fileUploadType: [
291
+ {
292
+ id: 'IMAGE',
293
+ label: 'Image',
294
+ },
295
+ {
296
+ id: 'VIDEO',
297
+ label: 'Video',
298
+ },
299
+ {
300
+ id: 'AUDIO',
301
+ label: 'Audio',
302
+ },
303
+ {
304
+ id: 'OTHER',
305
+ label: 'Other',
306
+ },
307
+ ],
308
+ displayFormat: [
309
+ {
310
+ id: 'BULLETED',
311
+ label: 'Bulleted',
312
+ },
313
+ {
314
+ id: 'NUMBERED',
315
+ label: 'Numbered',
316
+ },
317
+ {
318
+ id: 'COMMA',
319
+ label: 'Comma-Separated',
320
+ },
321
+ ],
322
+ mediaSourceType: [
323
+ {
324
+ id: 'URL',
325
+ label: 'Url',
326
+ },
327
+ {
328
+ id: 'LOCAL_UPLOAD',
329
+ label: 'Local Upload',
330
+ },
331
+ ],
332
+ mediaFileType: [
333
+ {
334
+ id: 'IMAGE',
335
+ label: 'Image',
336
+ },
337
+ {
338
+ id: 'VIDEO',
339
+ label: 'Video',
340
+ },
341
+ {
342
+ id: 'AUDIO',
343
+ label: 'Audio',
344
+ },
345
+ {
346
+ id: 'PDF',
347
+ label: 'Pdf',
348
+ },
349
+ ],
350
+ mediaTitlePosition: [
351
+ {
352
+ id: 'TOP',
353
+ label: 'Top',
354
+ },
355
+ {
356
+ id: 'BOTTOM',
357
+ label: 'Bottom',
358
+ },
359
+ ],
360
+ allowedExtensions: [],
361
+ healthFacilityFilterTypes: [],
362
+ additionalFilters: [],
363
+ iconsList: [],
364
+ currencyCode: [],
365
+ selectedCountries: [],
366
+ sizeType: [
367
+ {
368
+ id: 'small',
369
+ label: 'Small',
370
+ },
371
+ {
372
+ id: 'medium',
373
+ label: 'Medium',
374
+ },
375
+ {
376
+ id: 'large',
377
+ label: 'Large',
378
+ },
379
+ ],
380
+ variantType: [
381
+ {
382
+ id: 'contained',
383
+ label: 'Contained',
384
+ },
385
+ {
386
+ id: 'outlined',
387
+ label: 'Outlined',
388
+ },
389
+ {
390
+ id: 'text',
391
+ label: 'Text',
392
+ },
393
+ ],
394
+ color: [
395
+ {
396
+ id: 'primary',
397
+ label: 'Primary',
398
+ },
399
+ {
400
+ id: 'secondary',
401
+ label: 'Secondary',
402
+ },
403
+ {
404
+ id: 'success',
405
+ label: 'Success',
406
+ },
407
+ {
408
+ id: 'error',
409
+ label: 'Error',
410
+ },
411
+ {
412
+ id: 'info',
413
+ label: 'Info',
414
+ },
415
+ {
416
+ id: 'warning',
417
+ label: 'Warning',
418
+ },
419
+ ],
420
+ loadHospital: [
421
+ { id: 'FIELD', label: 'Field' },
422
+ { id: 'VARIABLE', label: 'Variable' },
423
+ ],
424
+ levelTo: [
425
+ {
426
+ id: 'U',
427
+ label: 'Upper',
428
+ },
429
+ {
430
+ id: 'UE',
431
+ label: 'Upper & Equal',
432
+ },
433
+ {
434
+ id: 'L',
435
+ label: 'Lower',
436
+ },
437
+ {
438
+ id: 'LE',
439
+ label: 'Lower & Equal',
440
+ },
441
+ ],
442
+ keyDataType: [
443
+ {
444
+ id: 'STRING',
445
+ label: 'String',
446
+ },
447
+ {
448
+ id: 'INTEGER',
449
+ label: 'Integer',
450
+ },
451
+ ],
452
+ viewType: [
453
+ { id: 'VIEW_ONLY', label: 'View Only' },
454
+ { id: 'EDITABLE', label: 'Editable' },
455
+ ],
456
+ fetchType: [
457
+ { id: 'UNIQUE_HEALTH_ID', label: 'Unique Health Id' },
458
+ { id: 'MEMBER_ID', label: 'Member Id' },
459
+ { id: 'CUSTOM', label: 'Custom' },
460
+ ],
461
+ fetchTypePath: [
462
+ { id: 'VARIABLE', label: 'Variable' },
463
+ { id: 'CUSTOM', label: 'Custom' },
464
+ ],
465
+ baseDate: [],
466
+ format: [],
467
+ sourceType: [
468
+ { id: 'VARIABLE', label: 'Variable' },
469
+ { id: 'CUSTOM', label: 'Custom' },
470
+ ],
471
+ billingColumn: [],
472
+ totalPriceColumn: [],
473
+ listValueOptionSaveType: [
474
+ { id: 'ID', label: 'Based on Id' },
475
+ { id: 'CODE', label: 'Based on Code' },
476
+ ],
477
+ systolicMinMaxMode: [
478
+ {
479
+ id: 'STATIC',
480
+ label: 'STATIC',
481
+ },
482
+ {
483
+ id: 'DYNAMIC',
484
+ label: 'DYNAMIC',
485
+ },
486
+ ],
487
+ diastolicMinMaxMode: [
488
+ {
489
+ id: 'STATIC',
490
+ label: 'STATIC',
491
+ },
492
+ {
493
+ id: 'DYNAMIC',
494
+ label: 'DYNAMIC',
495
+ },
496
+ ],
497
+ countryFilterType: [
498
+ {
499
+ id: 'WHITELIST',
500
+ label: 'Whitelist',
501
+ },
502
+ {
503
+ id: 'BLACKLIST',
504
+ label: 'Blacklist',
505
+ },
506
+ ],
507
+ countrySelectionType: [
508
+ {
509
+ id: 'SINGLE',
510
+ label: 'Single',
511
+ },
512
+ {
513
+ id: 'MULTIPLE',
514
+ label: 'Multiple',
515
+ },
516
+ ],
517
+ adornmentType: [
518
+ {
519
+ id: 'UNIT',
520
+ label: 'Unit',
521
+ },
522
+ {
523
+ id: 'ICON',
524
+ label: 'Icon',
525
+ },
526
+ ],
527
+ unitCategory: [
528
+ { id: 'WEIGHT', label: 'Weight' },
529
+ { id: 'LENGTH', label: 'Length' },
530
+ { id: 'TEMPERATURE', label: 'Temperature' },
531
+ { id: 'VOLUME', label: 'Volume' },
532
+ { id: 'TIME', label: 'Time' },
533
+ { id: 'SPEED', label: 'Speed' },
534
+ { id: 'PERCENTAGE', label: 'Percentage' },
535
+ { id: 'DATA', label: 'Data' },
536
+ ],
537
+ weightUnits: [
538
+ { id: 'mg', label: 'Milligram (mg)' },
539
+ { id: 'g', label: 'Gram (g)' },
540
+ { id: 'kg', label: 'Kilogram (kg)' },
541
+ { id: 'lb', label: 'Pound (lb)' },
542
+ { id: 'oz', label: 'Ounce (oz)' },
543
+ ],
544
+ lengthUnits: [
545
+ { id: 'mm', label: 'Millimeter (mm)' },
546
+ { id: 'cm', label: 'Centimeter (cm)' },
547
+ { id: 'm', label: 'Meter (m)' },
548
+ { id: 'km', label: 'Kilometer (km)' },
549
+ { id: 'in', label: 'Inch (in)' },
550
+ { id: 'ft', label: 'Foot (ft)' },
551
+ ],
552
+ temperatureUnits: [
553
+ { id: '°C', label: 'Celsius (°C)' },
554
+ { id: '°F', label: 'Fahrenheit (°F)' },
555
+ { id: 'K', label: 'Kelvin (K)' },
556
+ ],
557
+ volumeUnits: [
558
+ { id: 'ml', label: 'Milliliter (ml)' },
559
+ { id: 'l', label: 'Liter (l)' },
560
+ { id: 'gal', label: 'Gallon (gal)' },
561
+ { id: 'oz', label: 'Fluid Ounce (oz)' },
562
+ { id: 'qt', label: 'Quart (qt)' },
563
+ { id: 'pt', label: 'Pint (pt)' },
564
+ { id: 'm³', label: 'Cubic Meter (m³)' },
565
+ { id: 'ft³', label: 'Cubic Foot (ft³)' },
566
+ ],
567
+ timeUnits: [
568
+ { id: 'ms', label: 'Millisecond (ms)' },
569
+ { id: 's', label: 'Second (s)' },
570
+ { id: 'min', label: 'Minute (min)' },
571
+ { id: 'h', label: 'Hour (h)' },
572
+ { id: 'day', label: 'Day' },
573
+ { id: 'week', label: 'Week' },
574
+ { id: 'month', label: 'Month' },
575
+ { id: 'year', label: 'Year' },
576
+ ],
577
+ speedUnits: [
578
+ { id: 'm/s', label: 'Meters per Second (m/s)' },
579
+ { id: 'km/h', label: 'Kilometers per Hour (km/h)' },
580
+ { id: 'mph', label: 'Miles per Hour (mph)' },
581
+ { id: 'ft/s', label: 'Feet per Second (ft/s)' },
582
+ { id: 'knot', label: 'Knot' },
583
+ ],
584
+ percentageUnits: [
585
+ { id: '%', label: 'Percent (%)' },
586
+ { id: '‰', label: 'Permille (‰)' },
587
+ ],
588
+ dataUnits: [
589
+ { id: 'B', label: 'Byte (B)' },
590
+ { id: 'KB', label: 'Kilobyte (KB)' },
591
+ { id: 'MB', label: 'Megabyte (MB)' },
592
+ { id: 'GB', label: 'Gigabyte (GB)' },
593
+ { id: 'TB', label: 'Terabyte (TB)' },
594
+ { id: 'PB', label: 'Petabyte (PB)' },
595
+ ],
596
+ unitPosition: [
597
+ { id: 'prefix', label: 'Prefix' },
598
+ { id: 'suffix', label: 'Suffix' },
599
+ ],
600
+ visionSymptomType: [
601
+ { id: 'DISTANCE', label: 'Distance Vision' },
602
+ { id: 'NEAR', label: 'Near Vision' },
603
+ ],
604
+ profileV2Chips: [],
605
+ };
606
+
607
+ export const fieldValueDropdownOptionsByKeyInitialDataForV2 = {
608
+ optionsType: [
609
+ {
610
+ id: 'staticOptions',
611
+ label: 'Static Options',
612
+ },
613
+ {
614
+ id: 'listValueField',
615
+ label: 'List Value Field',
616
+ },
617
+ {
618
+ id: 'queryBuilder',
619
+ label: 'Query',
620
+ },
621
+ ],
622
+ templateType: [
623
+ {
624
+ id: 'twoPart',
625
+ label: 'Two Part',
626
+ },
627
+ {
628
+ id: 'inline',
629
+ label: 'Inline',
630
+ },
631
+ ],
632
+ displayType: [
633
+ {
634
+ id: 'text',
635
+ label: 'Text',
636
+ },
637
+ {
638
+ id: 'boolean',
639
+ label: 'Boolean',
640
+ },
641
+ {
642
+ id: 'date',
643
+ label: 'Date',
644
+ },
645
+ {
646
+ id: 'dateAndTime',
647
+ label: 'Date and Time',
648
+ },
649
+ {
650
+ id: 'gender',
651
+ label: 'Gender',
652
+ },
653
+ {
654
+ id: 'familyPlanning',
655
+ label: 'Family Planning',
656
+ },
657
+ {
658
+ id: 'sdScore',
659
+ label: 'SD Score',
660
+ },
661
+ {
662
+ id: 'listValueFieldValue',
663
+ label: 'List Value Field Value',
664
+ },
665
+ {
666
+ id: 'location',
667
+ label: 'Location',
668
+ },
669
+ {
670
+ id: 'array',
671
+ label: 'Array',
672
+ },
673
+ {
674
+ id: 'html',
675
+ label: 'HTML',
676
+ },
677
+ ],
678
+ sourceValueType: [
679
+ {
680
+ id: 'text',
681
+ label: 'Text',
682
+ },
683
+ {
684
+ id: 'html',
685
+ label: 'HTML',
686
+ },
687
+ ],
688
+ allowedSelection: [
689
+ {
690
+ id: 'ANY',
691
+ label: 'Any',
692
+ },
693
+ {
694
+ id: 'USER_ASSIGNED',
695
+ label: 'User Assigned',
696
+ },
697
+ ],
698
+ bindTo: [],
699
+ bindToForTableQueryConfig: [],
700
+ bindToForTableQueryConfigPaginated: [],
701
+ loadBy: [
702
+ { id: 'QUERY', label: 'Query' },
703
+ { id: 'FILTER', label: 'Filter' },
704
+ ],
705
+ profileType: [
706
+ { id: 'PREGNANT', label: 'Pregnant' },
707
+ { id: 'CHILD', label: 'Child' },
708
+ { id: 'OTHER', label: 'Other' },
709
+ ],
710
+ billProfileType: [
711
+ { id: 'PATIENT', label: 'Patient' },
712
+ { id: 'STOCK', label: 'Stocks' },
713
+ ],
714
+ chargesType: [
715
+ { id: 'PERCENTAGE', label: 'Percentage' },
716
+ { id: 'AMOUNT', label: 'Amount' },
717
+ ],
718
+ discountType: [
719
+ { id: 'PERCENTAGE', label: 'Percentage' },
720
+ { id: 'AMOUNT', label: 'Amount' },
721
+ ],
722
+ initialView: [
723
+ { id: 'day', label: 'day' },
724
+ { id: 'month', label: 'month' },
725
+ { id: 'year', label: 'year' },
726
+ ],
727
+ listValueField: [],
728
+ queryBuilder: [],
729
+ variableList: [],
730
+ format: [],
731
+ maxField: [],
732
+ minField: [],
733
+ minDateField: [],
734
+ maxDateField: [],
735
+ minDateTimeField: [],
736
+ maxDateTimeField: [],
737
+ listValueFieldVisibility: [],
738
+ fields: [],
739
+ tableVariable: [],
740
+ infoVariable: [],
741
+ filterUUID: [],
742
+ requiredUptoLevel: [],
743
+ fetchUptoLevel: [],
744
+ allowedLocationTypes: [],
745
+ allowedLocationTypesDynamic: [],
746
+ allowedNoOfLocationsDynamic: [],
747
+ fetchUptoLevelDynamic: [],
748
+ requiredUptoLevelDynamic: [],
749
+ minDynamic: [],
750
+ maxDynamic: [],
751
+ minTimeDynamic: [],
752
+ maxTimeDynamic: [],
753
+ fileSaveLocation: [],
754
+ isMinStaticOrDynamic: [
755
+ {
756
+ id: 'STATIC',
757
+ label: 'STATIC',
758
+ },
759
+ {
760
+ id: 'DYNAMIC',
761
+ label: 'DYNAMIC',
762
+ },
763
+ ],
764
+ isMaxStaticOrDynamic: [
765
+ {
766
+ id: 'STATIC',
767
+ label: 'STATIC',
768
+ },
769
+ {
770
+ id: 'DYNAMIC',
771
+ label: 'DYNAMIC',
772
+ },
773
+ ],
774
+ dropdownBehavior: [
775
+ {
776
+ id: 'Basic',
777
+ label: 'Basic',
778
+ },
779
+ {
780
+ id: 'Relational',
781
+ label: 'Relational',
782
+ },
783
+ ],
784
+ isStaticOrDynamic: [
785
+ {
786
+ id: 'STATIC',
787
+ label: 'STATIC',
788
+ },
789
+ {
790
+ id: 'DYNAMIC',
791
+ label: 'DYNAMIC',
792
+ },
793
+ ],
794
+ fileUploadType: [
795
+ {
796
+ id: 'IMAGE',
797
+ label: 'Image',
798
+ },
799
+ {
800
+ id: 'VIDEO',
801
+ label: 'Video',
802
+ },
803
+ {
804
+ id: 'AUDIO',
805
+ label: 'Audio',
806
+ },
807
+ {
808
+ id: 'OTHER',
809
+ label: 'Other',
810
+ },
811
+ ],
812
+ displayFormat: [
813
+ {
814
+ id: 'BULLETED',
815
+ label: 'Bulleted',
816
+ },
817
+ {
818
+ id: 'NUMBERED',
819
+ label: 'Numbered',
820
+ },
821
+ {
822
+ id: 'COMMA',
823
+ label: 'Comma-Separated',
824
+ },
825
+ ],
826
+ mediaSourceType: [
827
+ {
828
+ id: 'URL',
829
+ label: 'Url',
830
+ },
831
+ {
832
+ id: 'LOCAL_UPLOAD',
833
+ label: 'Local Upload',
834
+ },
835
+ ],
836
+ mediaFileType: [
837
+ {
838
+ id: 'IMAGE',
839
+ label: 'Image',
840
+ },
841
+ {
842
+ id: 'VIDEO',
843
+ label: 'Video',
844
+ },
845
+ {
846
+ id: 'AUDIO',
847
+ label: 'Audio',
848
+ },
849
+ {
850
+ id: 'PDF',
851
+ label: 'Pdf',
852
+ },
853
+ ],
854
+ mediaTitlePosition: [
855
+ {
856
+ id: 'TOP',
857
+ label: 'Top',
858
+ },
859
+ {
860
+ id: 'BOTTOM',
861
+ label: 'Bottom',
862
+ },
863
+ ],
864
+ allowedExtensions: [],
865
+ healthFacilityFilterTypes: [],
866
+ additionalFilters: [],
867
+ iconsList: [],
868
+ currencyCode: [],
869
+ selectedCountries: [],
870
+ sizeType: [
871
+ {
872
+ id: 'small',
873
+ label: 'Small',
874
+ },
875
+ {
876
+ id: 'medium',
877
+ label: 'Medium',
878
+ },
879
+ {
880
+ id: 'large',
881
+ label: 'Large',
882
+ },
883
+ ],
884
+ variantType: [
885
+ {
886
+ id: 'contained',
887
+ label: 'Contained',
888
+ },
889
+ {
890
+ id: 'outlined',
891
+ label: 'Outlined',
892
+ },
893
+ {
894
+ id: 'text',
895
+ label: 'Text',
896
+ },
897
+ ],
898
+ color: [
899
+ {
900
+ id: 'primary',
901
+ label: 'Primary',
902
+ },
903
+ {
904
+ id: 'secondary',
905
+ label: 'Secondary',
906
+ },
907
+ {
908
+ id: 'success',
909
+ label: 'Success',
910
+ },
911
+ {
912
+ id: 'error',
913
+ label: 'Error',
914
+ },
915
+ {
916
+ id: 'info',
917
+ label: 'Info',
918
+ },
919
+ {
920
+ id: 'warning',
921
+ label: 'Warning',
922
+ },
923
+ ],
924
+ loadHospital: [{ id: 'FIELD', label: 'Field' }],
925
+ levelTo: [
926
+ {
927
+ id: 'U',
928
+ label: 'Upper',
929
+ },
930
+ {
931
+ id: 'UE',
932
+ label: 'Upper & Equal',
933
+ },
934
+ {
935
+ id: 'L',
936
+ label: 'Lower',
937
+ },
938
+ {
939
+ id: 'LE',
940
+ label: 'Lower & Equal',
941
+ },
942
+ ],
943
+ keyDataType: [
944
+ {
945
+ id: 'STRING',
946
+ label: 'String',
947
+ },
948
+ {
949
+ id: 'INTEGER',
950
+ label: 'Integer',
951
+ },
952
+ ],
953
+ viewType: [
954
+ { id: 'VIEW_ONLY', label: 'View Only' },
955
+ { id: 'EDITABLE', label: 'Editable' },
956
+ ],
957
+ fetchType: [
958
+ { id: 'UNIQUE_HEALTH_ID', label: 'Unique Health Id' },
959
+ { id: 'MEMBER_ID', label: 'Member Id' },
960
+ { id: 'CUSTOM', label: 'Custom' },
961
+ ],
962
+ fetchTypePath: [{ id: 'CUSTOM', label: 'Custom' }],
963
+ baseDate: [],
964
+ sourceType: [{ id: 'CUSTOM', label: 'Custom' }],
965
+ billingColumn: [],
966
+ totalPriceColumn: [],
967
+ listValueOptionSaveType: [
968
+ { id: 'ID', label: 'Based on Id' },
969
+ { id: 'CODE', label: 'Based on Code' },
970
+ ],
971
+ systolicMinMaxMode: [
972
+ {
973
+ id: 'STATIC',
974
+ label: 'STATIC',
975
+ },
976
+ {
977
+ id: 'DYNAMIC',
978
+ label: 'DYNAMIC',
979
+ },
980
+ ],
981
+ diastolicMinMaxMode: [
982
+ {
983
+ id: 'STATIC',
984
+ label: 'STATIC',
985
+ },
986
+ {
987
+ id: 'DYNAMIC',
988
+ label: 'DYNAMIC',
989
+ },
990
+ ],
991
+ countryFilterType: [
992
+ {
993
+ id: 'WHITELIST',
994
+ label: 'Whitelist',
995
+ },
996
+ {
997
+ id: 'BLACKLIST',
998
+ label: 'Blacklist',
999
+ },
1000
+ ],
1001
+ countrySelectionType: [
1002
+ {
1003
+ id: 'SINGLE',
1004
+ label: 'Single',
1005
+ },
1006
+ {
1007
+ id: 'MULTIPLE',
1008
+ label: 'Multiple',
1009
+ },
1010
+ ],
1011
+ };
1012
+
1013
+ export const defaultBaseFieldsList = [
1014
+ 'uniqueHealthId',
1015
+ 'familyId',
1016
+ 'abhaId',
1017
+ 'memberName',
1018
+ 'dob',
1019
+ 'gender',
1020
+ 'contactNumber',
1021
+ 'locationHierarchy',
1022
+ 'highRisk',
1023
+ 'lmpDate',
1024
+ 'eddDate',
1025
+ ];
1026
+
1027
+ export const defaultBaseFieldsListForChild = [
1028
+ 'uniqueHealthId',
1029
+ 'familyId',
1030
+ 'abhaId',
1031
+ 'memberName',
1032
+ 'dob',
1033
+ 'gender',
1034
+ 'contactNumber',
1035
+ 'locationHierarchy',
1036
+ ];
1037
+
1038
+ export const defaultBaseFields = {
1039
+ uniqueHealthId: {
1040
+ bindTo: null,
1041
+ fieldKey: null,
1042
+ keyFrom: 'QUERY',
1043
+ enabled: true,
1044
+ },
1045
+ familyId: {
1046
+ bindTo: null,
1047
+ fieldKey: null,
1048
+ keyFrom: 'QUERY',
1049
+ enabled: true,
1050
+ },
1051
+ abhaId: {
1052
+ bindTo: null,
1053
+ fieldKey: null,
1054
+ keyFrom: 'QUERY',
1055
+ enabled: true,
1056
+ },
1057
+ memberName: {
1058
+ bindTo: null,
1059
+ fieldKey: null,
1060
+ keyFrom: 'QUERY',
1061
+ enabled: true,
1062
+ },
1063
+ dob: {
1064
+ bindTo: null,
1065
+ fieldKey: null,
1066
+ keyFrom: 'QUERY',
1067
+ enabled: true,
1068
+ },
1069
+ gender: {
1070
+ bindTo: null,
1071
+ fieldKey: null,
1072
+ keyFrom: 'QUERY',
1073
+ enabled: true,
1074
+ },
1075
+ contactNumber: {
1076
+ bindTo: null,
1077
+ fieldKey: null,
1078
+ keyFrom: 'QUERY',
1079
+ enabled: true,
1080
+ },
1081
+ locationHierarchy: {
1082
+ bindTo: null,
1083
+ fieldKey: null,
1084
+ keyFrom: 'QUERY',
1085
+ enabled: true,
1086
+ },
1087
+ highRisk: {
1088
+ bindTo: null,
1089
+ fieldKey: null,
1090
+ keyFrom: 'QUERY',
1091
+ enabled: true,
1092
+ },
1093
+ lmpDate: {
1094
+ bindTo: null,
1095
+ fieldKey: null,
1096
+ keyFrom: 'QUERY',
1097
+ enabled: true,
1098
+ },
1099
+ eddDate: {
1100
+ bindTo: null,
1101
+ fieldKey: null,
1102
+ keyFrom: 'QUERY',
1103
+ enabled: true,
1104
+ },
1105
+ };
1106
+
1107
+ export const defaultBaseFieldsChild = {
1108
+ uniqueHealthId: {
1109
+ bindTo: null,
1110
+ fieldKey: null,
1111
+ keyFrom: 'QUERY',
1112
+ enabled: true,
1113
+ },
1114
+ familyId: {
1115
+ bindTo: null,
1116
+ fieldKey: null,
1117
+ keyFrom: 'QUERY',
1118
+ enabled: true,
1119
+ },
1120
+ abhaId: {
1121
+ bindTo: null,
1122
+ fieldKey: null,
1123
+ keyFrom: 'QUERY',
1124
+ enabled: true,
1125
+ },
1126
+ memberName: {
1127
+ bindTo: null,
1128
+ fieldKey: null,
1129
+ keyFrom: 'QUERY',
1130
+ enabled: true,
1131
+ },
1132
+ dob: {
1133
+ bindTo: null,
1134
+ fieldKey: null,
1135
+ keyFrom: 'QUERY',
1136
+ enabled: true,
1137
+ },
1138
+ gender: {
1139
+ bindTo: null,
1140
+ fieldKey: null,
1141
+ keyFrom: 'QUERY',
1142
+ enabled: true,
1143
+ },
1144
+ contactNumber: {
1145
+ bindTo: null,
1146
+ fieldKey: null,
1147
+ keyFrom: 'QUERY',
1148
+ enabled: true,
1149
+ },
1150
+ locationHierarchy: {
1151
+ bindTo: null,
1152
+ fieldKey: null,
1153
+ keyFrom: 'QUERY',
1154
+ enabled: true,
1155
+ },
1156
+ };
1157
+
1158
+ export const utilitiesAutoComplete = [
1159
+ {
1160
+ id: 'STRING',
1161
+ label: 'String',
1162
+ },
1163
+ {
1164
+ id: 'NUMBER',
1165
+ label: 'Number',
1166
+ },
1167
+ {
1168
+ id: 'DATE',
1169
+ label: 'Date',
1170
+ },
1171
+ {
1172
+ id: 'DATE_AND_TIME',
1173
+ label: 'Date and Time',
1174
+ },
1175
+ {
1176
+ id: 'BOOLEAN',
1177
+ label: 'Boolean',
1178
+ },
1179
+ {
1180
+ id: 'ARRAY',
1181
+ label: 'Array',
1182
+ },
1183
+ {
1184
+ id: 'OBJECT',
1185
+ label: 'Object',
1186
+ },
1187
+ ];
1188
+
1189
+ export const tableFieldKeysAutoComplete = [
1190
+ {
1191
+ id: 'text',
1192
+ label: 'Text',
1193
+ },
1194
+ {
1195
+ id: 'boolean',
1196
+ label: 'Boolean',
1197
+ },
1198
+ {
1199
+ id: 'date',
1200
+ label: 'Date',
1201
+ },
1202
+ {
1203
+ id: 'dateAndTime',
1204
+ label: 'Date & Time',
1205
+ },
1206
+ {
1207
+ id: 'gender',
1208
+ label: 'Gender',
1209
+ },
1210
+ {
1211
+ id: 'familyPlanning',
1212
+ label: 'Family Planning',
1213
+ },
1214
+ {
1215
+ id: 'sdScore',
1216
+ label: 'SD Score',
1217
+ },
1218
+ {
1219
+ id: 'agoFromDate',
1220
+ label: 'Ago from Date',
1221
+ },
1222
+ {
1223
+ id: 'listValueFieldValue',
1224
+ label: 'List Value Field Value',
1225
+ },
1226
+ {
1227
+ id: 'location',
1228
+ label: 'Location',
1229
+ },
1230
+ {
1231
+ id: 'html',
1232
+ label: 'HTML',
1233
+ },
1234
+ {
1235
+ id: 'mediaPreview',
1236
+ label: 'Media Preview',
1237
+ },
1238
+ {
1239
+ id: 'chip',
1240
+ label: 'Chip',
1241
+ }
1242
+ ];
1243
+
1244
+ export const conditionRendererComparisionTypeAutoComplete = [
1245
+ {
1246
+ id: 'EQ',
1247
+ label: 'Is equal to',
1248
+ },
1249
+ {
1250
+ id: 'NQ',
1251
+ label: 'Is not equal to',
1252
+ },
1253
+ {
1254
+ id: 'EQWithType',
1255
+ label: 'Is exactly equal (type + value)',
1256
+ },
1257
+ {
1258
+ id: 'NQWithType',
1259
+ label: 'Is not exactly equal (type + value)',
1260
+ },
1261
+ {
1262
+ id: 'GT',
1263
+ label: 'Is greater than',
1264
+ },
1265
+ {
1266
+ id: 'LT',
1267
+ label: 'Is less than',
1268
+ },
1269
+ {
1270
+ id: 'GTE',
1271
+ label: 'Is greater than or equal to',
1272
+ },
1273
+ {
1274
+ id: 'LTE',
1275
+ label: 'Is less than or equal to',
1276
+ },
1277
+ {
1278
+ id: 'BT',
1279
+ label: 'Is between',
1280
+ },
1281
+ {
1282
+ id: 'INCLUDES',
1283
+ label: 'Includes value',
1284
+ },
1285
+ {
1286
+ id: 'NOT_INCLUDES',
1287
+ label: 'Does not include value',
1288
+ },
1289
+ {
1290
+ id: 'HAS_KEY',
1291
+ label: 'Has a key',
1292
+ },
1293
+ {
1294
+ id: 'HAS_KEY_VALUE',
1295
+ label: 'Has key with value',
1296
+ },
1297
+ {
1298
+ id: 'FILLED',
1299
+ label: 'Is Filled',
1300
+ },
1301
+ {
1302
+ id: 'NOT_FILLED',
1303
+ label: 'Is not Filled',
1304
+ },
1305
+ {
1306
+ id: 'CONTAINS',
1307
+ label: 'Contains ',
1308
+ },
1309
+ {
1310
+ id: 'STARTS_WITH',
1311
+ label: 'Starts with',
1312
+ },
1313
+ {
1314
+ id: 'ENDS_WITH',
1315
+ label: 'Ends with',
1316
+ },
1317
+ ];
1318
+
1319
+ export const operatorSummaryLabels = {
1320
+ EQ: 'is equal to',
1321
+ NQ: 'is not equal to',
1322
+ GT: 'is greater than',
1323
+ LT: 'is less than',
1324
+ GTE: 'is greater than or equal to',
1325
+ LTE: 'is less than or equal to',
1326
+ CONTAINS: 'contains',
1327
+ STARTS_WITH: 'starts with',
1328
+ ENDS_WITH: 'ends with',
1329
+ };
1330
+
1331
+ export const allowedExtensionsImage = [
1332
+ { id: 'image/jpg', label: 'JPG Image', type: 'IMAGE' },
1333
+ { id: 'image/jpeg', label: 'JPEG Image', type: 'IMAGE' },
1334
+ { id: 'image/png', label: 'PNG Image', type: 'IMAGE' },
1335
+ { id: 'image/gif', label: 'GIF Image', type: 'IMAGE' },
1336
+ { id: 'image/bmp', label: 'Bitmap Image', type: 'IMAGE' },
1337
+ ];
1338
+
1339
+ export const allowedExtensionsVideo = [
1340
+ { id: 'video/mp4', label: 'MP4 Video', type: 'VIDEO' },
1341
+ { id: 'video/mkv', label: 'MKV Video', type: 'VIDEO' },
1342
+ { id: 'video/mov', label: 'MOV Video', type: 'VIDEO' },
1343
+ { id: 'video/avi', label: 'AVI Video', type: 'VIDEO' },
1344
+ ];
1345
+
1346
+ export const allowedExtensionsAudio = [
1347
+ { id: 'audio/mp3', label: 'MP3 Audio', type: 'AUDIO' },
1348
+ { id: 'audio/wav', label: 'WAV Audio', type: 'AUDIO' },
1349
+ { id: 'audio/flac', label: 'FLAC Audio', type: 'AUDIO' },
1350
+ { id: 'audio/aac', label: 'AAC Audio', type: 'AUDIO' },
1351
+ ];
1352
+
1353
+ export const allowedExtensionsOther = [
1354
+ { id: 'text/plain', label: 'Text File', type: 'OTHER' },
1355
+ { id: 'application/pdf', label: 'PDF Document', type: 'OTHER' },
1356
+ { id: 'doc', label: 'Word Document', type: 'OTHER' },
1357
+ { id: 'docx', label: 'Word Document', type: 'OTHER' },
1358
+ { id: 'xls', label: 'Excel Spreadsheet', type: 'OTHER' },
1359
+ { id: 'xlsx', label: 'Excel Spreadsheet', type: 'OTHER' },
1360
+ { id: 'zip', label: 'ZIP Archive', type: 'OTHER' },
1361
+ { id: 'rar', label: 'RAR Archive', type: 'OTHER' },
1362
+ { id: 'application/vnd.android.package-archive', label: 'Apk File', type: 'OTHER' },
1363
+ ];
1364
+
1365
+ export const excludedFieldTypesForFieldSelectInAutoComplete = [
1366
+ 'TABLE',
1367
+ 'TABLE_WITH_PAGINATION',
1368
+ 'FILTER',
1369
+ 'PROFILE_COMPONENT',
1370
+ 'PROFILE_COMPONENT_V2',
1371
+ 'INFORMATION_DISPLAY',
1372
+ 'INFORMATION_TEXT',
1373
+ 'BUTTON',
1374
+ 'BUTTON_V2',
1375
+ 'ICON',
1376
+ 'ICON_V2',
1377
+ 'BILL_GENERATION',
1378
+ ];
1379
+
1380
+ export const excludedFieldTypesForIsRequired = [
1381
+ 'TABLE',
1382
+ 'TABLE_WITH_PAGINATION',
1383
+ 'INFORMATION_DISPLAY',
1384
+ 'INFORMATION_TEXT',
1385
+ 'BUTTON',
1386
+ 'BUTTON_V2',
1387
+ 'ICON',
1388
+ 'ICON_V2',
1389
+ 'FILE_UPLOAD',
1390
+ 'PROFILE_COMPONENT',
1391
+ 'PROFILE_COMPONENT_V2',
1392
+ 'FILTER',
1393
+ 'IMAGE_ANNOTATE',
1394
+ 'MEDIA_DISPLAY',
1395
+ 'ABHA_CARD',
1396
+ 'LOCATION_SELECTION',
1397
+ ];
1398
+
1399
+ export const excludedFieldTypesForIsDisabled = [
1400
+ 'TABLE',
1401
+ 'TABLE_WITH_PAGINATION',
1402
+ 'INFORMATION_DISPLAY',
1403
+ 'INFORMATION_TEXT',
1404
+ 'PROFILE_COMPONENT',
1405
+ 'PROFILE_COMPONENT_V2',
1406
+ 'LOCATION_SELECTION',
1407
+ 'FILE_UPLOAD',
1408
+ 'FILTER',
1409
+ 'IMAGE_ANNOTATE',
1410
+ 'MEDIA_DISPLAY',
1411
+ 'ABHA_CARD',
1412
+ 'OTP',
1413
+ ];
1414
+
1415
+ export const excludedFieldTypesForEvents = [
1416
+ 'TABLE',
1417
+ 'INFORMATION_DISPLAY',
1418
+ 'INFORMATION_TEXT',
1419
+ 'TABLE_WITH_PAGINATION',
1420
+ 'MEDIA_DISPLAY',
1421
+ 'ABHA_CARD',
1422
+ ];
1423
+
1424
+ export const uploadEventActions = [{ id: 'FILE_ANALYZE', label: 'File Analyze' }];
1425
+
1426
+ export const CONDITIONAL_EVENTS_ENABLED = [
1427
+ 'Init',
1428
+ 'Change',
1429
+ 'Blur',
1430
+ 'Click',
1431
+ 'Search',
1432
+ 'Send',
1433
+ 'Verify',
1434
+ 'Resend',
1435
+ 'Post_upload',
1436
+ 'Send/resend',
1437
+ ];
1438
+
1439
+ export const excludedFieldTypesForBehaviour = ['FILTER'];
1440
+
1441
+ export const excludeBindToInFieldCard = [
1442
+ 'TABLE',
1443
+ 'TABLE_WITH_PAGINATION',
1444
+ 'PROFILE_COMPONENT',
1445
+ 'PROFILE_COMPONENT_V2',
1446
+ 'FILTER',
1447
+ 'BUTTON',
1448
+ 'BUTTON_V2',
1449
+ 'ICON',
1450
+ 'ICON_V2',
1451
+ 'INFORMATION_TEXT',
1452
+ 'INFORMATION_DISPLAY',
1453
+ 'MEDIA_DISPLAY',
1454
+ 'ABHA_CARD',
1455
+ 'BILL_GENERATION',
1456
+ 'PROFILE_COMPONENT_V2',
1457
+ ];
1458
+
1459
+ export const includeFieldTypesForValidity = [
1460
+ 'SHORT_TEXT',
1461
+ 'NUMBER',
1462
+ 'LONG_TEXT',
1463
+ 'DATE',
1464
+ 'DATE_AND_TIME',
1465
+ 'DATE_RANGE',
1466
+ 'TIME',
1467
+ 'TIME_RANGE',
1468
+ 'CURRENCY',
1469
+ 'RADIO',
1470
+ 'DROPDOWN',
1471
+ 'MOBILE_NUMBER',
1472
+ 'CHECKBOX',
1473
+ 'PASSWORD',
1474
+ 'FILE_UPLOAD',
1475
+ 'BLOOD_PRESSURE',
1476
+ 'HOSPITAL_SELECTION',
1477
+ 'HOSPITAL_REFERRAL',
1478
+ 'LOCATION_SELECTION',
1479
+ 'LOCATION_ASSIGN',
1480
+ 'OTP',
1481
+ 'SCHOOL_SELECTION',
1482
+ 'IMMUNISATION_COMPONENT_V2',
1483
+ 'IMAGE_ANNOTATE',
1484
+ 'VISION',
1485
+ 'PRESCRIPTION',
1486
+ 'WADHWANI_SDK',
1487
+ ];
1488
+
1489
+ export const profileFieldKeys = ['titleConfig', 'subtitleConfig', 'baseDateCompare'];
1490
+
1491
+ export const dateAndDateTimeFieldKeys = ['minField', 'maxField'];
1492
+
1493
+ export const patternDropDownKeys = ['pattern'];
1494
+
1495
+ export const informationKeys = ['displayType'];
1496
+
1497
+ export const operatorAllowedTypes = {
1498
+ STRING: ['EQ', 'NQ', 'EQWithType', 'NQWithType', 'FILLED', 'NOT_FILLED', 'CONTAINS', 'STARTS_WITH', 'ENDS_WITH'],
1499
+ NUMBER: ['EQ', 'NQ', 'EQWithType', 'NQWithType', 'GT', 'LT', 'GTE', 'LTE', 'BT', 'FILLED', 'NOT_FILLED'],
1500
+ BOOLEAN: ['EQWithType', 'NQWithType', 'FILLED', 'NOT_FILLED'],
1501
+ ARRAY: ['INCLUDES', 'NOT_INCLUDES'],
1502
+ OBJECT: ['HAS_KEY', 'HAS_KEY_VALUE'],
1503
+ DATE: [
1504
+ 'EQ',
1505
+ 'NQ',
1506
+ 'EQWithType',
1507
+ 'NQWithType',
1508
+ 'GT',
1509
+ 'LT',
1510
+ 'GTE',
1511
+ 'LTE',
1512
+ 'BT',
1513
+ 'INCLUDES',
1514
+ 'NOT_INCLUDES',
1515
+ 'HAS_KEY',
1516
+ 'HAS_KEY_VALUE',
1517
+ 'FILLED',
1518
+ 'NOT_FILLED',
1519
+ ],
1520
+ DATE_AND_TIME: [
1521
+ 'EQ',
1522
+ 'NQ',
1523
+ 'EQWithType',
1524
+ 'NQWithType',
1525
+ 'GT',
1526
+ 'LT',
1527
+ 'GTE',
1528
+ 'LTE',
1529
+ 'BT',
1530
+ 'INCLUDES',
1531
+ 'NOT_INCLUDES',
1532
+ 'HAS_KEY',
1533
+ 'HAS_KEY_VALUE',
1534
+ 'FILLED',
1535
+ 'NOT_FILLED',
1536
+ ],
1537
+ };
1538
+
1539
+ export const standardFieldsDropdownOptions = {
1540
+ optionsType: [
1541
+ {
1542
+ id: 'staticOptions',
1543
+ label: 'Static Options',
1544
+ },
1545
+ {
1546
+ id: 'listValueField',
1547
+ label: 'List Value Field',
1548
+ },
1549
+ ],
1550
+ isStaticOrDynamic: [
1551
+ {
1552
+ id: 'STATIC',
1553
+ label: 'STATIC',
1554
+ },
1555
+ ],
1556
+ keyDataType: [
1557
+ {
1558
+ id: 'STRING',
1559
+ label: 'String',
1560
+ },
1561
+ {
1562
+ id: 'INTEGER',
1563
+ label: 'Integer',
1564
+ },
1565
+ ],
1566
+ listValueOptionSaveType: [
1567
+ { id: 'ID', label: 'Based on Id' },
1568
+ { id: 'CODE', label: 'Based on Code' },
1569
+ ],
1570
+ adornmentType: [
1571
+ { id: 'UNIT', label: 'Unit' },
1572
+ { id: 'ICON', label: 'Icon' },
1573
+ ],
1574
+ unitCategory: [
1575
+ { id: 'WEIGHT', label: 'Weight' },
1576
+ { id: 'LENGTH', label: 'Length' },
1577
+ { id: 'TEMPERATURE', label: 'Temperature' },
1578
+ { id: 'VOLUME', label: 'Volume' },
1579
+ { id: 'TIME', label: 'Time' },
1580
+ { id: 'SPEED', label: 'Speed' },
1581
+ { id: 'PERCENTAGE', label: 'Percentage' },
1582
+ { id: 'DATA', label: 'Data' },
1583
+ ],
1584
+ unitPosition: [
1585
+ { id: 'prefix', label: 'Prefix' },
1586
+ { id: 'suffix', label: 'Suffix' },
1587
+ ],
1588
+ visionSymptomType: [
1589
+ { id: 'DISTANCE', label: 'Distance Vision' },
1590
+ { id: 'NEAR', label: 'Near Vision' },
1591
+ ],
1592
+ };
1593
+
1594
+ export const staticDynamicKeys = [
1595
+ 'allowedLocationTypes',
1596
+ 'allowedNoOfLocations',
1597
+ 'fetchUptoLevel',
1598
+ 'requiredUptoLevel',
1599
+ 'infoText',
1600
+ 'min',
1601
+ 'max',
1602
+ 'minTime',
1603
+ 'maxTime',
1604
+ ];
1605
+
1606
+ export const commonFieldKeyMap = [
1607
+ {
1608
+ fieldKeyCode: 'standardFieldCode',
1609
+ fieldKeyName: 'Field Code',
1610
+ valueType: 'TEXT',
1611
+ defaultValue: null,
1612
+ isRequired: true,
1613
+ showInUI: true,
1614
+ orderNo: 1,
1615
+ fieldGroupType: 'BASICS',
1616
+ },
1617
+ {
1618
+ fieldKeyCode: 'standardFieldName',
1619
+ fieldKeyName: 'Field Name',
1620
+ valueType: 'TEXT',
1621
+ defaultValue: null,
1622
+ isRequired: true,
1623
+ showInUI: true,
1624
+ orderNo: 2,
1625
+ fieldGroupType: 'BASICS',
1626
+ },
1627
+ {
1628
+ fieldKeyCode: 'standardProtectedField',
1629
+ fieldKeyName: 'Protected Field?',
1630
+ valueType: 'BOOLEAN',
1631
+ defaultValue: false,
1632
+ isRequired: true,
1633
+ showInUI: true,
1634
+ orderNo: 3,
1635
+ fieldGroupType: 'BASICS',
1636
+ },
1637
+ ];
1638
+
1639
+ export const patternOptions = [
1640
+ { label: 'Numbers and Letters', regex: '^[a-zA-Z0-9]+$' },
1641
+ { label: 'Numbers and Letters with Spaces', regex: '^[A-Za-z0-9]+(?: [A-Za-z0-9]+)*$' },
1642
+ { label: 'Only Numbers', regex: '^[0-9]+$' },
1643
+ { label: 'Only Letters', regex: '^[a-zA-Z]+$' },
1644
+ { label: 'Letters with spaces', regex: '^[A-Za-z]+(?: [A-Za-z]+)*$' },
1645
+ { label: 'Unique Health ID (e.g. A113366291N)', regex: '^A[0-9]+N?$' },
1646
+ { label: 'Family ID (e.g. FM/2009/123456N)', regex: '^FM\\/\\d{4}\\/\\d+N?$' },
1647
+ { label: 'ABHA Number (e.g. 20-6602-0608-4144)', regex: '^\\d{2}-\\d{4}-\\d{4}-\\d{4}$' },
1648
+ { label: 'ABHA Address (e.g. 20660206084144@abdm)', regex: '^[a-zA-Z0-9.]+@(abdm|sbx)$' },
1649
+ { label: 'Email', regex: '^[A-Za-z0-9][^@]*@[^@]+\\.[^@]+$' },
1650
+ { label: 'Custom', regex: '' },
1651
+ ];
1652
+
1653
+ export const DATE_FORMAT_OPTIONS = [
1654
+ { id: 'ddmmyyyy', label: 'DD/MM/YYYY' },
1655
+ { id: 'mmddyyyy', label: 'MM/DD/YYYY' },
1656
+ { id: 'yyyymmdd', label: 'YYYY/MM/DD' },
1657
+ ];
1658
+
1659
+ export const DATE_TIME_FORMAT_OPTIONS = [
1660
+ { id: 'ddmmyyyy-hhmm', label: 'DD/MM/YYYY HH:mm' },
1661
+ { id: 'mmddyyyy-hhmm', label: 'MM/DD/YYYY HH:mm' },
1662
+ { id: 'yyyymmdd-hhmm', label: 'YYYY/MM/DD HH:mm' },
1663
+ ];
1664
+
1665
+ export const fieldKeyMapOfStandardFieldsByType = {
1666
+ DROPDOWN: [
1667
+ ...commonFieldKeyMap,
1668
+ {
1669
+ fieldKeyCode: 'optionsType',
1670
+ fieldKeyName: 'Options Type',
1671
+ valueType: 'DROPDOWN',
1672
+ defaultValue: null,
1673
+ isRequired: true,
1674
+ showInUI: true,
1675
+ orderNo: 20,
1676
+ fieldGroupType: 'OPTIONS_TYPE',
1677
+ },
1678
+ {
1679
+ fieldKeyCode: 'isMultiple',
1680
+ fieldKeyName: 'Is Multiple?',
1681
+ valueType: 'BOOLEAN',
1682
+ defaultValue: null,
1683
+ isRequired: true,
1684
+ showInUI: true,
1685
+ orderNo: 39,
1686
+ fieldGroupType: 'OPTIONS_TYPE',
1687
+ },
1688
+ {
1689
+ fieldKeyCode: 'hasOtherOption',
1690
+ fieldKeyName: 'Has Other Option?',
1691
+ valueType: 'BOOLEAN',
1692
+ defaultValue: null,
1693
+ isRequired: true,
1694
+ showInUI: true,
1695
+ orderNo: 40,
1696
+ fieldGroupType: 'OPTIONS_TYPE',
1697
+ },
1698
+ {
1699
+ fieldKeyCode: 'hasNoneOption',
1700
+ fieldKeyName: 'Has None Option?',
1701
+ valueType: 'BOOLEAN',
1702
+ defaultValue: null,
1703
+ isRequired: true,
1704
+ showInUI: true,
1705
+ orderNo: 41,
1706
+ fieldGroupType: 'OPTIONS_TYPE',
1707
+ },
1708
+ {
1709
+ fieldKeyCode: 'additionalStaticOptionsRequired',
1710
+ fieldKeyName: 'Additional Static Options Required?',
1711
+ fieldKeyValueType: 'BOOLEAN',
1712
+ defaultValue: null,
1713
+ isRequired: true,
1714
+ showInUI: false,
1715
+ orderNo: 21,
1716
+ fieldGroupType: 'OPTIONS_TYPE',
1717
+ },
1718
+ ],
1719
+ SHORT_TEXT: [
1720
+ ...commonFieldKeyMap,
1721
+ {
1722
+ fieldKeyCode: 'minLength',
1723
+ fieldKeyName: 'Min Length',
1724
+ valueType: 'NUMBER',
1725
+ defaultValue: null,
1726
+ isRequired: true,
1727
+ showInUI: true,
1728
+ orderNo: 15,
1729
+ fieldGroupType: 'RULES',
1730
+ },
1731
+ {
1732
+ fieldKeyCode: 'maxLength',
1733
+ fieldKeyName: 'Max Length',
1734
+ valueType: 'NUMBER',
1735
+ defaultValue: null,
1736
+ isRequired: true,
1737
+ showInUI: true,
1738
+ orderNo: 16,
1739
+ fieldGroupType: 'RULES',
1740
+ },
1741
+ {
1742
+ fieldKeyCode: 'pattern',
1743
+ fieldKeyName: 'Pattern',
1744
+ valueType: 'DROPDOWN',
1745
+ defaultValue: null,
1746
+ isRequired: true,
1747
+ showInUI: true,
1748
+ orderNo: 40,
1749
+ fieldGroupType: 'RULES',
1750
+ },
1751
+ ],
1752
+ LONG_TEXT: [
1753
+ ...commonFieldKeyMap,
1754
+ {
1755
+ fieldKeyCode: 'minLength',
1756
+ fieldKeyName: 'Min Length',
1757
+ valueType: 'NUMBER',
1758
+ defaultValue: null,
1759
+ isRequired: true,
1760
+ showInUI: true,
1761
+ orderNo: 15,
1762
+ fieldGroupType: 'RULES',
1763
+ },
1764
+ {
1765
+ fieldKeyCode: 'maxLength',
1766
+ fieldKeyName: 'Max Length',
1767
+ valueType: 'NUMBER',
1768
+ defaultValue: null,
1769
+ isRequired: true,
1770
+ showInUI: true,
1771
+ orderNo: 16,
1772
+ fieldGroupType: 'RULES',
1773
+ },
1774
+ {
1775
+ fieldKeyCode: 'rows',
1776
+ fieldKeyName: 'Rows',
1777
+ valueType: 'NUMBER',
1778
+ defaultValue: null,
1779
+ isRequired: true,
1780
+ showInUI: true,
1781
+ orderNo: 17,
1782
+ fieldGroupType: 'RULES',
1783
+ },
1784
+ {
1785
+ fieldKeyCode: 'pattern',
1786
+ fieldKeyName: 'Pattern',
1787
+ valueType: 'DROPDOWN',
1788
+ defaultValue: null,
1789
+ isRequired: true,
1790
+ showInUI: true,
1791
+ orderNo: 40,
1792
+ fieldGroupType: 'RULES',
1793
+ },
1794
+ ],
1795
+ NUMBER: [
1796
+ ...commonFieldKeyMap,
1797
+ {
1798
+ fieldKeyCode: 'isStaticOrDynamic',
1799
+ fieldKeyName: 'Min and Max Mode',
1800
+ valueType: 'DROPDOWN',
1801
+ defaultValue: null,
1802
+ isRequired: true,
1803
+ showInUI: false,
1804
+ orderNo: 35,
1805
+ fieldGroupType: 'RULES',
1806
+ },
1807
+ {
1808
+ fieldKeyCode: 'min',
1809
+ fieldKeyName: 'Min',
1810
+ valueType: 'NUMBER',
1811
+ defaultValue: null,
1812
+ isRequired: true,
1813
+ showInUI: true,
1814
+ orderNo: 38,
1815
+ fieldGroupType: 'RULES',
1816
+ },
1817
+ {
1818
+ fieldKeyCode: 'max',
1819
+ fieldKeyName: 'Max',
1820
+ valueType: 'NUMBER',
1821
+ defaultValue: null,
1822
+ isRequired: true,
1823
+ showInUI: true,
1824
+ orderNo: 39,
1825
+ fieldGroupType: 'RULES',
1826
+ },
1827
+ {
1828
+ fieldKeyCode: 'pattern',
1829
+ fieldKeyName: 'Pattern',
1830
+ valueType: 'DROPDOWN',
1831
+ defaultValue: null,
1832
+ isRequired: true,
1833
+ showInUI: true,
1834
+ orderNo: 40,
1835
+ fieldGroupType: 'RULES',
1836
+ },
1837
+ {
1838
+ fieldKeyCode: 'adornmentType',
1839
+ fieldKeyName: 'Adornment Type',
1840
+ valueType: 'DROPDOWN',
1841
+ defaultValue: null,
1842
+ isRequired: false,
1843
+ showInUI: true,
1844
+ orderNo: 54,
1845
+ fieldGroupType: 'RULES',
1846
+ },
1847
+ ],
1848
+ RADIO: [
1849
+ ...commonFieldKeyMap,
1850
+ {
1851
+ fieldKeyCode: 'optionsType',
1852
+ fieldKeyName: 'Options Type',
1853
+ valueType: 'DROPDOWN',
1854
+ defaultValue: null,
1855
+ isRequired: true,
1856
+ showInUI: true,
1857
+ orderNo: 20,
1858
+ fieldGroupType: 'OPTIONS_TYPE',
1859
+ },
1860
+ {
1861
+ fieldKeyCode: 'hasOtherOption',
1862
+ fieldKeyName: 'Has Other Option?',
1863
+ valueType: 'BOOLEAN',
1864
+ defaultValue: null,
1865
+ isRequired: true,
1866
+ showInUI: true,
1867
+ orderNo: 40,
1868
+ fieldGroupType: 'OPTIONS_TYPE',
1869
+ },
1870
+ {
1871
+ fieldKeyCode: 'hasNoneOption',
1872
+ fieldKeyName: 'Has None Option?',
1873
+ valueType: 'BOOLEAN',
1874
+ defaultValue: null,
1875
+ isRequired: true,
1876
+ showInUI: true,
1877
+ orderNo: 41,
1878
+ fieldGroupType: 'OPTIONS_TYPE',
1879
+ },
1880
+ {
1881
+ fieldKeyCode: 'additionalStaticOptionsRequired',
1882
+ fieldKeyName: 'Additional Static Options Required?',
1883
+ fieldKeyValueType: 'BOOLEAN',
1884
+ defaultValue: null,
1885
+ isRequired: true,
1886
+ showInUI: false,
1887
+ orderNo: 21,
1888
+ fieldGroupType: 'OPTIONS_TYPE',
1889
+ },
1890
+ ],
1891
+ };
1892
+
1893
+ export const specialParametersDataMap = {
1894
+ limit_offset: {
1895
+ label: '#limit_offset#',
1896
+ description: 'Used for pagination',
1897
+ },
1898
+ searchString: {
1899
+ label: '#searchString#',
1900
+ description: 'Used for wildcard comparison against String values to filter specific data',
1901
+ },
1902
+ loggedInUserId: {
1903
+ label: '#loggedInUserId#',
1904
+ description: 'Used for accessing current loggedin user id',
1905
+ },
1906
+ __fieldValue__: {
1907
+ label: '#__fieldValue__#',
1908
+ description: 'Used for runtime query validation',
1909
+ },
1910
+ modalValue: {
1911
+ label: '#modalValue#',
1912
+ description: 'Replaced with true for accept and false for reject, respectively',
1913
+ },
1914
+ loggedInUserLocation: {
1915
+ label: '#loggedInUserLocation#',
1916
+ description: 'Used for accessing location of current loggedin user',
1917
+ },
1918
+ };
1919
+
1920
+ export const mobileTableCellDropdown = [
1921
+ {
1922
+ id: 'title',
1923
+ label: 'Title',
1924
+ },
1925
+ {
1926
+ id: 'subtitle',
1927
+ label: 'Subtitle',
1928
+ },
1929
+ {
1930
+ id: 'description',
1931
+ label: 'Description',
1932
+ },
1933
+ {
1934
+ id: 'tag',
1935
+ label: 'Tag',
1936
+ },
1937
+ {
1938
+ id: 'badge',
1939
+ label: 'Badge',
1940
+ },
1941
+ ];
1942
+
1943
+ export const fieldGroupList = [
1944
+ 'BASICS',
1945
+ 'ADVANCED',
1946
+ 'BEHAVIOUR',
1947
+ 'EVENTS',
1948
+ 'OPTIONS_TYPE',
1949
+ 'RULES',
1950
+ 'STYLES',
1951
+ 'SUPPORTS',
1952
+ 'TABLE_DATA',
1953
+ 'ACTIONS',
1954
+ 'FILES',
1955
+ 'FILTER',
1956
+ 'REFERRAL',
1957
+ 'SELECTION',
1958
+ 'ANNOTATE',
1959
+ 'IMMUNISATION',
1960
+ 'SOURCE',
1961
+ 'LOCATION',
1962
+ 'PROFILE',
1963
+ 'RESEND',
1964
+ ];
1965
+
1966
+ export const fieldGroupTypes = {
1967
+ BASICS: 'Field Details',
1968
+ TABLE_DATA: 'Table Details',
1969
+ OPTIONS_TYPE: 'Option Details',
1970
+ RULES: 'Rules',
1971
+ ACTIONS: 'Configure Actions',
1972
+ FILES: 'File Details',
1973
+ FILTER: 'Filter Configuration',
1974
+ REFERRAL: 'Referral Configuration',
1975
+ SELECTION: 'Selection Configuration',
1976
+ ANNOTATE: 'Annotation Configuration',
1977
+ IMMUNISATION: 'Immunisation Configuration',
1978
+ SOURCE: 'Source Configuration',
1979
+ LOCATION: 'Location Configuration',
1980
+ PROFILE: 'Profile Configuration',
1981
+ ADVANCED: 'Advanced Configuration',
1982
+ RESEND: 'Resend Details',
1983
+ PRESCRIPTION: 'Prescription Details',
1984
+ VISION_CONFIG: 'Vision Configuration',
1985
+ };
1986
+
1987
+ export const defaultFormUIConfigs = {
1988
+ showJSONMode: false,
1989
+ enableRestrictedMode: true,
1990
+ showInFullScreen: false,
1991
+ noOfFieldsInARow: '2',
1992
+ errorDetectionSource: 'backend',
1993
+ };
1994
+
1995
+ export const guidedTutorialSteps = {
1996
+ UI_BASICS: [
1997
+ {
1998
+ content: "Let's learn different parts of form configurator!",
1999
+ placement: 'center',
2000
+ target: 'body',
2001
+ },
2002
+ {
2003
+ content: 'Here the basic details of the form is shown with some action buttons',
2004
+ target: '.form-details',
2005
+ title: 'Basic Details',
2006
+ },
2007
+ {
2008
+ content: 'This is the form name which can be changed by updating form details',
2009
+ target: '.form-details-name',
2010
+ },
2011
+ {
2012
+ content: 'This is the form description which can be changed by updating form details',
2013
+ spotlightPadding: 20,
2014
+ target: '.form-details-description',
2015
+ },
2016
+ {
2017
+ content:
2018
+ 'Here different functional configurations are present that helps the user to structure and manage data inside the form',
2019
+ placement: 'bottom',
2020
+ target: '.form-functional-configurations',
2021
+ title: 'Functional Configurations',
2022
+ },
2023
+ {
2024
+ content: 'Provides tools to organize the hierarchical structure of the form',
2025
+ target: '.form-functional-configurations-structure',
2026
+ title: 'Structure',
2027
+ },
2028
+ {
2029
+ content:
2030
+ 'Facilitates the creation and management of dynamic variables for use in calculations, conditional logic, and data manipulation',
2031
+ target: '.form-functional-configurations-variables',
2032
+ title: 'Variables',
2033
+ },
2034
+ {
2035
+ content: 'Enables the setup of queries to fetch or store data, integrating seamlessly with databases',
2036
+ target: '.form-functional-configurations-queries',
2037
+ title: 'Queries',
2038
+ },
2039
+ {
2040
+ content: 'Enables the setup of APIs to seamlessly interact with the backend',
2041
+ target: '.form-functional-configurations-apis',
2042
+ title: 'APIs',
2043
+ },
2044
+ {
2045
+ content:
2046
+ 'Manages tasks or scripts to be executed when the form loads, such as preloading data, initializing variables, or setting default states',
2047
+ target: '.form-functional-configurations-onload',
2048
+ title: 'On Load Execution',
2049
+ },
2050
+ {
2051
+ content: 'Handles backend query configurations, or setting default states',
2052
+ target: '.form-functional-configurations-submission',
2053
+ title: 'Form Submission',
2054
+ },
2055
+ {
2056
+ content:
2057
+ 'Define and customize individual fields in a form, including field types, labels, events, validations, and default values',
2058
+ target: '.field-configuration-body',
2059
+ title: 'Field Configuration',
2060
+ },
2061
+ {
2062
+ content: 'Thank you for using the guided tutorial!',
2063
+ placement: 'center',
2064
+ target: 'body',
2065
+ },
2066
+ ],
2067
+ CREATING_NEW_FIELD: [
2068
+ {
2069
+ content: "Let's learn how to create a new field in form configurator!",
2070
+ placement: 'center',
2071
+ target: 'body',
2072
+ },
2073
+ {
2074
+ content: 'Click here to add new field',
2075
+ spotlightClicks: true,
2076
+ disableBeacon: true,
2077
+ disableOverlayClose: true,
2078
+ hideCloseButton: true,
2079
+ hideFooter: true,
2080
+ target: '#add-new-field-button',
2081
+ },
2082
+ {
2083
+ content: 'Click here to add a radio field',
2084
+ spotlightClicks: true,
2085
+ disableBeacon: true,
2086
+ disableOverlayClose: true,
2087
+ hideCloseButton: true,
2088
+ hideFooter: true,
2089
+ disableScrolling: true,
2090
+ styles: {
2091
+ spotlight: {
2092
+ marginTop: '30px',
2093
+ },
2094
+ },
2095
+ target: '#field-type-RADIO',
2096
+ },
2097
+ {
2098
+ content: 'This is the field configuration window',
2099
+ hideBackButton: true,
2100
+ target: '#field-configuration-modal',
2101
+ title: 'Field configuration details',
2102
+ },
2103
+ {
2104
+ content: 'This is the general configuration tab where basic required configs are asked',
2105
+ hideBackButton: true,
2106
+ target: '#field-configuration-modal-general-configuration-tab',
2107
+ },
2108
+ {
2109
+ content:
2110
+ 'This is the behaviour configuration tab where configs like visibility, disability, requirable, validity is present',
2111
+ hideBackButton: true,
2112
+ target: '#field-configuration-modal-behaviour-configuration-tab',
2113
+ },
2114
+ {
2115
+ content: 'This is the events configuration tab where we can track a field dom events and run side effects',
2116
+ hideBackButton: true,
2117
+ target: '#field-configuration-modal-event-configuration-tab',
2118
+ },
2119
+ {
2120
+ content:
2121
+ 'This is the styles configuration tab we can configure dynamic styles based on field value or global context values',
2122
+ hideBackButton: true,
2123
+ target: '#field-configuration-modal-styles-configuration-tab',
2124
+ },
2125
+ {
2126
+ content:
2127
+ 'This is the advanced configuration tab where most of the advanced configurations are present which are optional',
2128
+ hideBackButton: true,
2129
+ target: '#field-configuration-modal-advanced-configuration-tab',
2130
+ },
2131
+
2132
+ {
2133
+ content: 'Click here to save the field',
2134
+ hideBackButton: true,
2135
+ spotlightClicks: true,
2136
+ disableBeacon: true,
2137
+ disableOverlayClose: true,
2138
+ hideCloseButton: true,
2139
+ hideFooter: true,
2140
+ disableScrolling: true,
2141
+ target: '#field-configuration-save-field',
2142
+ },
2143
+ {
2144
+ hideBackButton: true,
2145
+ content: "Congratulations! You've successfully created a new field!",
2146
+ placement: 'center',
2147
+ target: 'body',
2148
+ },
2149
+ ],
2150
+ };
2151
+
2152
+ export const getDummyConfigForRadio = ({ bindTo, fieldCount }) => {
2153
+ return {
2154
+ id: generateUUID(),
2155
+ label: 'Is Member Alive?',
2156
+ bindTo: bindTo,
2157
+ events: null,
2158
+ tooltip: null,
2159
+ fieldKey: `isMemberAlive${fieldCount * (new Date().getTime() % 341)}`,
2160
+ fieldName: `Is Member Alive? (${fieldCount * (new Date().getTime() % 341)})`,
2161
+ fieldType: 'RADIO',
2162
+ isBoolean: 'true',
2163
+ isVisible: 'true',
2164
+ disability: null,
2165
+ isDisabled: 'false',
2166
+ isRequired: 'true',
2167
+ requiredMessage: 'Please select an option',
2168
+ labelMedia: null,
2169
+ requirable: null,
2170
+ visibility: null,
2171
+ optionsType: 'staticOptions',
2172
+ mediaFileName: null,
2173
+ staticOptions: [
2174
+ {
2175
+ key: 'true',
2176
+ value: 'Yes',
2177
+ },
2178
+ {
2179
+ key: 'false',
2180
+ value: 'No',
2181
+ },
2182
+ ],
2183
+ labelMediaUUID: null,
2184
+ isStandardField: false,
2185
+ medplatFieldValueMasterDtos: [
2186
+ {
2187
+ fieldKeyCode: 'fieldName',
2188
+ fieldKeyName: 'Field Name',
2189
+ valueType: 'TEXT',
2190
+ value: null,
2191
+ defaultValue: 'Is Member Alive?',
2192
+ overrideValue: false,
2193
+ order: 1,
2194
+ required: true,
2195
+ fieldGroupType: 'BASICS',
2196
+ fieldDescription: 'Displayed in the configuration panel to help identify the field.',
2197
+ showInUI: true,
2198
+ },
2199
+ {
2200
+ fieldKeyCode: 'label',
2201
+ fieldKeyName: 'Label',
2202
+ valueType: 'TEXT',
2203
+ value: null,
2204
+ defaultValue: 'Is Member Alive?',
2205
+ overrideValue: false,
2206
+ order: 2,
2207
+ required: true,
2208
+ fieldGroupType: 'BASICS',
2209
+ fieldDescription: 'Displayed on the end-user interface as the field name.',
2210
+ showInUI: true,
2211
+ },
2212
+ {
2213
+ fieldKeyCode: 'labelMedia',
2214
+ fieldKeyName: 'Label Media',
2215
+ valueType: 'JSON',
2216
+ value: null,
2217
+ defaultValue: null,
2218
+ overrideValue: false,
2219
+ order: 2,
2220
+ required: false,
2221
+ fieldGroupType: 'ADVANCED',
2222
+ fieldDescription: 'N.A',
2223
+ showInUI: true,
2224
+ },
2225
+ {
2226
+ fieldKeyCode: 'tooltip',
2227
+ fieldKeyName: 'Tooltip',
2228
+ valueType: 'TEXT',
2229
+ value: null,
2230
+ defaultValue: null,
2231
+ overrideValue: false,
2232
+ order: 3,
2233
+ required: false,
2234
+ fieldGroupType: 'ADVANCED',
2235
+ fieldDescription: 'This text will be displayed inside the tooltip on the rendering side.',
2236
+ showInUI: true,
2237
+ },
2238
+ {
2239
+ fieldKeyCode: 'bindTo',
2240
+ fieldKeyName: 'Bind To',
2241
+ valueType: 'DROPDOWN',
2242
+ value: null,
2243
+ defaultValue: '__formData__.check',
2244
+ overrideValue: false,
2245
+ order: 5,
2246
+ required: true,
2247
+ fieldGroupType: 'BASICS',
2248
+ fieldDescription: 'Specifies the source object this field is linked with.',
2249
+ showInUI: true,
2250
+ },
2251
+ {
2252
+ fieldKeyCode: 'fieldKey',
2253
+ fieldKeyName: 'Field Key',
2254
+ valueType: 'TEXT',
2255
+ value: null,
2256
+ defaultValue: 'isMemberAlive',
2257
+ overrideValue: false,
2258
+ order: 6,
2259
+ required: true,
2260
+ fieldGroupType: 'BASICS',
2261
+ fieldDescription: 'Unique identifier used to reference this field in configuration.',
2262
+ showInUI: true,
2263
+ },
2264
+ {
2265
+ fieldKeyCode: 'isVisible',
2266
+ fieldKeyName: 'Is Visible?',
2267
+ valueType: 'BOOLEAN',
2268
+ value: null,
2269
+ defaultValue: 'true',
2270
+ overrideValue: false,
2271
+ order: 10,
2272
+ required: true,
2273
+ fieldGroupType: 'BEHAVIOUR',
2274
+ fieldDescription: 'Controls whether the field should be displayed on the rendering side.',
2275
+ showInUI: true,
2276
+ },
2277
+ {
2278
+ fieldKeyCode: 'isRequired',
2279
+ fieldKeyName: 'Is Required?',
2280
+ valueType: 'BOOLEAN',
2281
+ value: null,
2282
+ defaultValue: 'true',
2283
+ overrideValue: false,
2284
+ order: 12,
2285
+ required: true,
2286
+ fieldGroupType: 'BEHAVIOUR',
2287
+ fieldDescription: 'Determines whether the field must be filled in before submission.',
2288
+ showInUI: true,
2289
+ },
2290
+ {
2291
+ fieldKeyCode: 'isDisabled',
2292
+ fieldKeyName: 'Is Disabled?',
2293
+ valueType: 'BOOLEAN',
2294
+ value: null,
2295
+ defaultValue: 'false',
2296
+ overrideValue: false,
2297
+ order: 14,
2298
+ required: true,
2299
+ fieldGroupType: 'BEHAVIOUR',
2300
+ fieldDescription: 'Disables user interaction with the field if enabled.',
2301
+ showInUI: true,
2302
+ },
2303
+ {
2304
+ fieldKeyCode: 'isBoolean',
2305
+ fieldKeyName: 'Is this true/false question?',
2306
+ valueType: 'BOOLEAN',
2307
+ value: null,
2308
+ defaultValue: 'true',
2309
+ overrideValue: false,
2310
+ order: 19,
2311
+ required: true,
2312
+ fieldGroupType: 'OPTIONS_TYPE',
2313
+ fieldDescription: 'Is this true/false question?',
2314
+ showInUI: true,
2315
+ },
2316
+ {
2317
+ fieldKeyCode: 'optionsType',
2318
+ fieldKeyName: 'Options Type',
2319
+ valueType: 'DROPDOWN',
2320
+ value: null,
2321
+ defaultValue: 'staticOptions',
2322
+ overrideValue: false,
2323
+ order: 20,
2324
+ required: true,
2325
+ fieldGroupType: 'OPTIONS_TYPE',
2326
+ fieldDescription: 'Select the source to load the options.',
2327
+ showInUI: false,
2328
+ },
2329
+ {
2330
+ fieldKeyCode: 'staticOptions',
2331
+ fieldKeyName: 'Static Options',
2332
+ valueType: 'JSON',
2333
+ value: null,
2334
+ defaultValue: [
2335
+ {
2336
+ key: 'true',
2337
+ value: 'Yes',
2338
+ },
2339
+ {
2340
+ key: 'false',
2341
+ value: 'No',
2342
+ },
2343
+ ],
2344
+ overrideValue: false,
2345
+ order: 22,
2346
+ required: true,
2347
+ fieldGroupType: 'OPTIONS_TYPE',
2348
+ fieldDescription: 'Configure static options that will be shown in the selection field on the rendering side.',
2349
+ showInUI: false,
2350
+ },
2351
+ {
2352
+ fieldKeyCode: 'events',
2353
+ fieldKeyName: 'events',
2354
+ valueType: 'EVENTS_JSON',
2355
+ value: null,
2356
+ defaultValue: null,
2357
+ overrideValue: false,
2358
+ order: 48,
2359
+ required: true,
2360
+ fieldGroupType: 'EVENTS',
2361
+ fieldDescription: 'N.A',
2362
+ showInUI: true,
2363
+ },
2364
+ {
2365
+ fieldKeyCode: 'visibility',
2366
+ fieldKeyName: 'visibility',
2367
+ valueType: 'VISIBILITY_JSON',
2368
+ value: null,
2369
+ defaultValue: null,
2370
+ overrideValue: false,
2371
+ order: 49,
2372
+ required: true,
2373
+ fieldGroupType: 'BEHAVIOUR',
2374
+ fieldDescription: 'N.A',
2375
+ showInUI: true,
2376
+ },
2377
+ {
2378
+ fieldKeyCode: 'requirable',
2379
+ fieldKeyName: 'requirable',
2380
+ valueType: 'REQUIRABLE_JSON',
2381
+ value: null,
2382
+ defaultValue: null,
2383
+ overrideValue: false,
2384
+ order: 50,
2385
+ required: true,
2386
+ fieldGroupType: 'BEHAVIOUR',
2387
+ fieldDescription: 'N.A',
2388
+ showInUI: true,
2389
+ },
2390
+ {
2391
+ fieldKeyCode: 'disability',
2392
+ fieldKeyName: 'disability',
2393
+ valueType: 'DISABILITY_JSON',
2394
+ value: null,
2395
+ defaultValue: null,
2396
+ overrideValue: false,
2397
+ order: 51,
2398
+ required: true,
2399
+ fieldGroupType: 'BEHAVIOUR',
2400
+ fieldDescription: 'N.A',
2401
+ showInUI: true,
2402
+ },
2403
+ ],
2404
+ hasError: false,
2405
+ errorMsgListKeys: [],
2406
+ };
2407
+ };
2408
+
2409
+ export const romanNumberMapping = [
2410
+ ['M', 1000],
2411
+ ['CM', 900],
2412
+ ['D', 500],
2413
+ ['CD', 400],
2414
+ ['C', 100],
2415
+ ['XC', 90],
2416
+ ['L', 50],
2417
+ ['XL', 40],
2418
+ ['X', 10],
2419
+ ['IX', 9],
2420
+ ['V', 5],
2421
+ ['IV', 4],
2422
+ ['I', 1],
2423
+ ];
2424
+
2425
+ export const specialFunctionsDataMap = {
2426
+ generate_immunisations_for_form_configurator: {
2427
+ label: 'generate_immunisations_for_form_configurator(immunisations text)',
2428
+ description: 'Builds a comma-separated string of immunisation names and dates for use in form configurators.',
2429
+ },
2430
+
2431
+ get_asha_by_area: {
2432
+ label: 'get_asha_by_area(area_id bigint)',
2433
+ description:
2434
+ 'Returns the ASHA worker assigned to the given area if the area type is eligible. The result includes the ASHA worker’s full name and contact number; otherwise, returns null.',
2435
+ },
2436
+
2437
+ get_date_from_milliseconds: {
2438
+ label: 'get_date_from_milliseconds(input_milliseconds bigint)',
2439
+ description: 'Converts milliseconds since the Unix epoch into a DATE.',
2440
+ },
2441
+
2442
+ get_financial_year: {
2443
+ label: 'get_financial_year(input_date date)',
2444
+ description:
2445
+ 'Calculates and returns the financial year for a given date in the format YYYY-YYYY, assuming the financial year starts on April 1st.',
2446
+ },
2447
+
2448
+ get_fhw_by_location: {
2449
+ label: 'get_fhw_by_location(location_id bigint)',
2450
+ description:
2451
+ 'Returns a comma-separated list of active Female Health Workers (FHWs) associated with the given location.',
2452
+ },
2453
+
2454
+ get_image_annotation_data_by_key: {
2455
+ label: 'get_image_annotation_data_by_key(json_data text, json_key text)',
2456
+ description:
2457
+ 'Fetches values from a JSON key inside image annotation data and returns them as a comma-separated string.',
2458
+ },
2459
+
2460
+ get_immunisation_as_list: {
2461
+ label: 'get_immunisation_as_list(immunisation_data text)',
2462
+ description: 'Extracts vaccine codes and given dates from a JSON array of immunisation records as rows.',
2463
+ },
2464
+
2465
+ get_immunisation_as_list_v2: {
2466
+ label: 'get_immunisation_as_list_v2(immunisation_data text)',
2467
+ description:
2468
+ 'Extracts vaccine codes, given dates, and dose indexes from a JSON array of immunisation records as rows (V2).',
2469
+ },
2470
+
2471
+ get_immunisation_as_string: {
2472
+ label: 'get_immunisation_as_string(immunisation_data text)',
2473
+ description:
2474
+ 'Converts a JSON array of immunisation records into a comma-separated string of vaccine codes and dates.',
2475
+ },
2476
+
2477
+ get_immunisation_as_string_v2: {
2478
+ label: 'get_immunisation_as_string_v2(existing_immunisation_data text, immunisation_data text)',
2479
+ description:
2480
+ 'Appends JSON-array immunisation records to an existing immunisation string and returns a comma-separated string of vaccine codes, dates, and dose indexes (V2).',
2481
+ },
2482
+
2483
+ get_location_hierarchy: {
2484
+ label: 'get_location_hierarchy(location_id bigint)',
2485
+ description:
2486
+ 'Returns the complete hierarchical path of a location as a > separated string, starting from the topmost parent down to the specified location.',
2487
+ },
2488
+
2489
+ get_location_hierarchy_by_type: {
2490
+ label: 'get_location_hierarchy_by_type(location_id bigint, type character varying)',
2491
+ description:
2492
+ 'Returns the name of the parent location of a specific type (such as District, Block, Zone, Panchayat, Urban, or Subcenter) for the given location ID, based on the provided location type code.',
2493
+ },
2494
+
2495
+ get_location_hierarchy_language_wise: {
2496
+ label: 'get_location_hierarchy_language_wise(location_id bigint, language character varying)',
2497
+ description: 'Returns the full location hierarchy for a given location ID as a > separated string.',
2498
+ },
2499
+
2500
+ get_milliseconds_from_epoch: {
2501
+ label: 'get_milliseconds_from_epoch(input_date timestamp with time zone)',
2502
+ description: 'Converts a TIMESTAMPTZ value into milliseconds since the Unix epoch.',
2503
+ },
2504
+
2505
+ get_timestamp_from_milliseconds: {
2506
+ label: 'get_timestamp_from_milliseconds(input_milliseconds bigint)',
2507
+ description: 'Converts milliseconds since the Unix epoch into a TIMESTAMP.',
2508
+ },
2509
+
2510
+ get_vaccination_string: {
2511
+ label: 'get_vaccination_string(mid bigint)',
2512
+ description:
2513
+ 'Returns a comma-separated string of immunisation names and their corresponding administration dates (DD/MM/YYYY) for the given member ID, ordered chronologically.',
2514
+ },
2515
+
2516
+ mark_files_permanent: {
2517
+ label: 'mark_files_permanent(file_data text)',
2518
+ description:
2519
+ 'The function accepts a JSON string containing an array of objects with document_uuid values and returns the UUIDs (as text) of all documents that were successfully updated.',
2520
+ },
2521
+
2522
+ uuid_generate_v4: {
2523
+ label: 'uuid_generate_v4()',
2524
+ description: 'Generates and returns a random UUID',
2525
+ },
2526
+
2527
+ get_currency_value: {
2528
+ label: 'get_currency_value(currency_object text)',
2529
+ description: 'Returns the currency value for the given currency object.',
2530
+ },
2531
+
2532
+ get_currency_code: {
2533
+ label: 'get_currency_code(currency_object text)',
2534
+ description: 'Returns the currency code for the given currency object.',
2535
+ },
2536
+
2537
+ get_listvalue_id_by_field_key_and_code: {
2538
+ label: 'get_listvalue_id_by_field_key_and_code(field_key text, code text)',
2539
+ description:
2540
+ 'Returns list value ID(s) as TEXT. For single selections, it returns a single ID. For multiple selections (comma-separated codes), it returns comma-separated IDs.',
2541
+ },
2542
+ };
2543
+
2544
+ export const styleTypes = [
2545
+ { value: 'textStyles', label: 'Text Style' },
2546
+ { value: 'textColors', label: 'Text Color' },
2547
+ ];
2548
+
2549
+ export const extensions = [
2550
+ { group: 'Documents', label: '.txt' },
2551
+ { group: 'Documents', label: '.pdf' },
2552
+ { group: 'Documents', label: '.docx' },
2553
+ { group: 'Documents', label: '.xlsx' },
2554
+ { group: 'Documents', label: '.pptx' },
2555
+ { group: 'Documents', label: '.csv' },
2556
+ { group: 'Documents', label: '.json' },
2557
+ { group: 'Documents', label: '.xml' },
2558
+
2559
+ { group: 'Images', label: '.png' },
2560
+ { group: 'Images', label: '.jpg' },
2561
+ { group: 'Images', label: '.jpeg' },
2562
+ { group: 'Images', label: '.gif' },
2563
+ { group: 'Images', label: '.svg' },
2564
+
2565
+ { group: 'Audio', label: '.mp3' },
2566
+ { group: 'Audio', label: '.wav' },
2567
+
2568
+ { group: 'Video', label: '.mp4' },
2569
+ { group: 'Video', label: '.webm' },
2570
+
2571
+ { group: 'Archives', label: '.zip' },
2572
+ { group: 'Archives', label: '.tar' },
2573
+ { group: 'Archives', label: '.gz' },
2574
+ ];
2575
+
2576
+ export const CountryDialCodes = [
2577
+ { name: 'United States', iso2: 'US', dialCode: '+1' },
2578
+ { name: 'France', iso2: 'FR', dialCode: '+33' },
2579
+ { name: 'United Kingdom', iso2: 'GB', dialCode: '+44' },
2580
+ { name: 'India', iso2: 'IN', dialCode: '+91' },
2581
+ { name: 'Japan', iso2: 'JP', dialCode: '+81' },
2582
+ { name: 'Jamaica', iso2: 'JM', dialCode: '+1' },
2583
+ { name: 'Australia', iso2: 'AU', dialCode: '+61' },
2584
+ { name: 'Canada', iso2: 'CA', dialCode: '+1' },
2585
+ { name: 'Switzerland', iso2: 'CH', dialCode: '+41' },
2586
+ { name: 'China', iso2: 'CN', dialCode: '+86' },
2587
+ { name: 'Hong Kong', iso2: 'HK', dialCode: '+852' },
2588
+ { name: 'New Zealand', iso2: 'NZ', dialCode: '+64' },
2589
+ { name: 'Singapore', iso2: 'SG', dialCode: '+65' },
2590
+ { name: 'South Korea', iso2: 'KR', dialCode: '+82' },
2591
+ { name: 'South Africa', iso2: 'ZA', dialCode: '+27' },
2592
+ { name: 'United Arab Emirates', iso2: 'AE', dialCode: '+971' },
2593
+ { name: 'Saudi Arabia', iso2: 'SA', dialCode: '+966' },
2594
+ { name: 'Qatar', iso2: 'QA', dialCode: '+974' },
2595
+ { name: 'Thailand', iso2: 'TH', dialCode: '+66' },
2596
+ { name: 'Malaysia', iso2: 'MY', dialCode: '+60' },
2597
+ { name: 'Philippines', iso2: 'PH', dialCode: '+63' },
2598
+ { name: 'Brazil', iso2: 'BR', dialCode: '+55' },
2599
+ { name: 'Mexico', iso2: 'MX', dialCode: '+52' },
2600
+ { name: 'Russia', iso2: 'RU', dialCode: '+7' },
2601
+ { name: 'Turkey', iso2: 'TR', dialCode: '+90' },
2602
+ { name: 'Poland', iso2: 'PL', dialCode: '+48' },
2603
+ { name: 'Sweden', iso2: 'SE', dialCode: '+46' },
2604
+ { name: 'Norway', iso2: 'NO', dialCode: '+47' },
2605
+ { name: 'Denmark', iso2: 'DK', dialCode: '+45' },
2606
+ { name: 'Sri Lanka', iso2: 'LK', dialCode: '+94' },
2607
+ { name: 'Bangladesh', iso2: 'BD', dialCode: '+880' },
2608
+ { name: 'Pakistan', iso2: 'PK', dialCode: '+92' },
2609
+ { name: 'Nepal', iso2: 'NP', dialCode: '+977' },
2610
+ ];
2611
+
2612
+ export const schoolLevelOptions = [
2613
+ { id: 'is_pre_primary_school', label: 'Pre-Primary' },
2614
+ { id: 'is_primary_school', label: 'Primary' },
2615
+ { id: 'is_higher_secondary_school', label: 'Higher Secondary' },
2616
+ { id: 'is_madresa', label: 'Madresa' },
2617
+ { id: 'is_gurukul', label: 'Gurukul' },
2618
+ { id: 'is_other', label: 'Other' },
2619
+ ];
2620
+
2621
+ export const educationFacilityOptions = [
2622
+ { id: 'SCHOOL', label: 'Schools' },
2623
+ { id: 'ANGANWADI', label: 'Anganwadis' },
2624
+ ];
2625
+
2626
+ export const DEFAULT_QUERY_CONFIG =
2627
+ '{"ee1727b0-891d-8275-ca1b-d88a4820e492":{"id":"ee1727b0-891d-8275-ca1b-d88a4820e492","flowName":"default_submit","buttonConfig":[{"type":"SUBMIT","isEnable":true,"text":"Submit","startIcon":null,"endIcon":null,"variant":"contained","color":"success","actionConfig":[{"action":"SUBMIT_FORM","actionFor":"BOTH","actionName":"submit","state":"","config":null,"openInNewWindow":false,"webQueryConfig":null,"successMessage":"You have successfully submitted the form"}]},{"type":"RESET","isEnable":true,"text":"Reset","startIcon":null,"endIcon":null,"variant":"contained","color":"warning","actionConfig":[]},{"type":"CANCEL","isEnable":true,"text":"Cancel","startIcon":null,"endIcon":null,"variant":"contained","color":"secondary","actionConfig":[]}]}}';
2628
+
2629
+ export const DEFAULT_SUBMISSION_ID = 'ee1727b0-891d-8275-ca1b-d88a4820e492';