@argusoft/medplat-core 1.0.0

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 (113) hide show
  1. package/dist/AccessRights-sgIhYR30.js +1238 -0
  2. package/dist/AccessRights-sgIhYR30.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-BaZxS2Cm.js +289 -0
  4. package/dist/AddEditQueryBuilder-BaZxS2Cm.js.map +1 -0
  5. package/dist/AddEditQueryBuilder.css +1 -0
  6. package/dist/AddFeatures-BxXCC6ex.js +212 -0
  7. package/dist/AddFeatures-BxXCC6ex.js.map +1 -0
  8. package/dist/AddLabelModal-DE3ploGD.js +734 -0
  9. package/dist/AddLabelModal-DE3ploGD.js.map +1 -0
  10. package/dist/AddMenuConfiguration-QWfpcnuP.js +2237 -0
  11. package/dist/AddMenuConfiguration-QWfpcnuP.js.map +1 -0
  12. package/dist/AddMenuConfiguration.css +1 -0
  13. package/dist/AddRoleDrawer-ZK1eejxI.js +453 -0
  14. package/dist/AddRoleDrawer-ZK1eejxI.js.map +1 -0
  15. package/dist/AppModal-BgZyfrd-.js +428 -0
  16. package/dist/AppModal-BgZyfrd-.js.map +1 -0
  17. package/dist/ChangePasswordModal-MV7g8tkA.js +176 -0
  18. package/dist/ChangePasswordModal-MV7g8tkA.js.map +1 -0
  19. package/dist/ConditionConfig-BqWe0NKO.js +395 -0
  20. package/dist/ConditionConfig-BqWe0NKO.js.map +1 -0
  21. package/dist/ConditionConfig.css +1 -0
  22. package/dist/EntityManagement-D-x6Qzal.js +50 -0
  23. package/dist/EntityManagement-D-x6Qzal.js.map +1 -0
  24. package/dist/EventConfigurations-jGCJ4LqP.js +384 -0
  25. package/dist/EventConfigurations-jGCJ4LqP.js.map +1 -0
  26. package/dist/EventConfigurations.css +1 -0
  27. package/dist/EventsExceptionModal-BF6E1Np7.js +200 -0
  28. package/dist/EventsExceptionModal-BF6E1Np7.js.map +1 -0
  29. package/dist/EventsSkeleton-BN7_0IGs.js +74 -0
  30. package/dist/EventsSkeleton-BN7_0IGs.js.map +1 -0
  31. package/dist/FeatureMenu-BYSRoNm0.js +249 -0
  32. package/dist/FeatureMenu-BYSRoNm0.js.map +1 -0
  33. package/dist/Features-CKMmuqcs.js +11 -0
  34. package/dist/Features-CKMmuqcs.js.map +1 -0
  35. package/dist/FlywayQuery-Cx2sly6g.js +169 -0
  36. package/dist/FlywayQuery-Cx2sly6g.js.map +1 -0
  37. package/dist/ImmunizationConfigurationBase-CdCgDaAl.js +5299 -0
  38. package/dist/ImmunizationConfigurationBase-CdCgDaAl.js.map +1 -0
  39. package/dist/ImmunizationConfigurationBase.css +1 -0
  40. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +335 -0
  41. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +1 -0
  42. package/dist/ImmunizationSkeleton-D2tdv5k-.js +186 -0
  43. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -0
  44. package/dist/LanguagesModal-rk6IGQwY.js +394 -0
  45. package/dist/LanguagesModal-rk6IGQwY.js.map +1 -0
  46. package/dist/ManageDynamicFeature-CeeqiS3K.js +4189 -0
  47. package/dist/ManageDynamicFeature-CeeqiS3K.js.map +1 -0
  48. package/dist/ManageEventConfiguration-BRXh51fc.js +1017 -0
  49. package/dist/ManageEventConfiguration-BRXh51fc.js.map +1 -0
  50. package/dist/ManageEventConfiguration.css +1 -0
  51. package/dist/ManageNotification-B4prX-9Z.js +6819 -0
  52. package/dist/ManageNotification-B4prX-9Z.js.map +1 -0
  53. package/dist/ManageRole-ByqBmjuc.js +699 -0
  54. package/dist/ManageRole-ByqBmjuc.js.map +1 -0
  55. package/dist/ManageTranslation-BTxvSYKb.js +616 -0
  56. package/dist/ManageTranslation-BTxvSYKb.js.map +1 -0
  57. package/dist/ManageTranslation.css +1 -0
  58. package/dist/ManageUser-PHiTNyF8.js +2160 -0
  59. package/dist/ManageUser-PHiTNyF8.js.map +1 -0
  60. package/dist/ManageUser.css +1 -0
  61. package/dist/MobileMenuManagement-DmQU5TTo.js +108 -0
  62. package/dist/MobileMenuManagement-DmQU5TTo.js.map +1 -0
  63. package/dist/MobileTypeEventConfigModal-BCp-SF4-.js +783 -0
  64. package/dist/MobileTypeEventConfigModal-BCp-SF4-.js.map +1 -0
  65. package/dist/NewServerManagement-5YcAtF-g.js +1002 -0
  66. package/dist/NewServerManagement-5YcAtF-g.js.map +1 -0
  67. package/dist/NotificationFlywayQuery-BY8Zzml_.js +244 -0
  68. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +1 -0
  69. package/dist/NotificationList-BkpOrCpM.js +400 -0
  70. package/dist/NotificationList-BkpOrCpM.js.map +1 -0
  71. package/dist/OtherTypeEventConfigModal-DPB8IYzj.js +2001 -0
  72. package/dist/OtherTypeEventConfigModal-DPB8IYzj.js.map +1 -0
  73. package/dist/QueryBuilder-Cus_mRwZ.js +378 -0
  74. package/dist/QueryBuilder-Cus_mRwZ.js.map +1 -0
  75. package/dist/QueryBuilder.css +1 -0
  76. package/dist/QueryManagement-DXA73N2j.js +671 -0
  77. package/dist/QueryManagement-DXA73N2j.js.map +1 -0
  78. package/dist/QueryManagement.css +1 -0
  79. package/dist/RoleManagement-CLaEJ90J.js +410 -0
  80. package/dist/RoleManagement-CLaEJ90J.js.map +1 -0
  81. package/dist/ServerSyncModal-uNjGCQJz.js +869 -0
  82. package/dist/ServerSyncModal-uNjGCQJz.js.map +1 -0
  83. package/dist/ShowFlywayQuery-DMsAbtOW.js +130 -0
  84. package/dist/ShowFlywayQuery-DMsAbtOW.js.map +1 -0
  85. package/dist/ShowFlywayQuery-DVRCd384.js +259 -0
  86. package/dist/ShowFlywayQuery-DVRCd384.js.map +1 -0
  87. package/dist/ShowQueryHistory-BDN0tzHg.js +190 -0
  88. package/dist/ShowQueryHistory-BDN0tzHg.js.map +1 -0
  89. package/dist/SubMenu-BHcSNSUF.js +187 -0
  90. package/dist/SubMenu-BHcSNSUF.js.map +1 -0
  91. package/dist/TableDetails-DzREeJkm.js +1508 -0
  92. package/dist/TableDetails-DzREeJkm.js.map +1 -0
  93. package/dist/TableList-B9hr05Hs.js +428 -0
  94. package/dist/TableList-B9hr05Hs.js.map +1 -0
  95. package/dist/TypeConfiguration-BYM8PjV9.js +117 -0
  96. package/dist/TypeConfiguration-BYM8PjV9.js.map +1 -0
  97. package/dist/UserList-BxB1tCwM.js +13042 -0
  98. package/dist/UserList-BxB1tCwM.js.map +1 -0
  99. package/dist/UserList.css +1 -0
  100. package/dist/UserListSkeleton-cglK2SaU.js +184 -0
  101. package/dist/UserListSkeleton-cglK2SaU.js.map +1 -0
  102. package/dist/WidgetList-BSApErov.js +188 -0
  103. package/dist/WidgetList-BSApErov.js.map +1 -0
  104. package/dist/_commonjsHelpers-BItOPCY9.js +29 -0
  105. package/dist/_commonjsHelpers-BItOPCY9.js.map +1 -0
  106. package/dist/i18next-CTOWN_jH.js +1394 -0
  107. package/dist/i18next-CTOWN_jH.js.map +1 -0
  108. package/dist/index.js +481 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/manageImmunization-B4swS745.js +1204 -0
  111. package/dist/manageImmunization-B4swS745.js.map +1 -0
  112. package/dist/manageImmunization.css +1 -0
  113. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ .add-edit-header{border-bottom:1px solid var(--color-gray1);width:100%;padding:2!important}
@@ -0,0 +1,212 @@
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
+ import { p as M } from "./RoleManagement-CLaEJ90J.js";
3
+ import { yupResolver as O } from "@hookform/resolvers/yup";
4
+ import { Modal as V, Box as x, Typography as p, List as $, ListItem as z, Stack as W, Button as v } from "@mui/material";
5
+ import i from "@mui/material/Grid2";
6
+ import c from "prop-types";
7
+ import { useRef as g, useState as q, useEffect as H } from "react";
8
+ import { useForm as J } from "react-hook-form";
9
+ import * as w from "yup";
10
+ import { showToast as f } from "@/common/toaster/toaster";
11
+ import { useTranslateProvider as K } from "@/common/languageTranslator/TranslationContext";
12
+ import Q from "@/hooks/useTrackEvent";
13
+ import U from "@/views/custom-components/CustomAutoComplete";
14
+ import { getFeaturesV2 as X } from "@/common/services/AuthenticateService";
15
+ function Y({
16
+ assignedFeatureList: l,
17
+ selectedId: C,
18
+ setData: _,
19
+ open: k,
20
+ setOpenModal: N
21
+ }) {
22
+ const F = g(null), h = g(!1), { translate: m } = K(), [I, E] = q([]), T = w.object().shape({
23
+ values: w.array().min(1, "Please select at least one feature.")
24
+ }), {
25
+ formState: { errors: j },
26
+ handleSubmit: A,
27
+ reset: S,
28
+ control: B,
29
+ watch: R
30
+ } = J({
31
+ defaultValues: {
32
+ values: []
33
+ },
34
+ resolver: O(T),
35
+ mode: "onChange"
36
+ }), b = R("values");
37
+ function G(e) {
38
+ const o = [];
39
+ for (const s in e)
40
+ e[s].forEach((a) => {
41
+ a.subGroups ? a.subGroups.forEach((r) => o.push(r)) : o.push(a);
42
+ });
43
+ return o;
44
+ }
45
+ const d = Q();
46
+ function u() {
47
+ S(), N(!1), d("conversion_event", {
48
+ form: F.current,
49
+ form_name: "Add Feature",
50
+ submit: h.current
51
+ }), d("button_click", {
52
+ button_name: "add feature cancel button",
53
+ button_type: "cancel",
54
+ button_id: "assignfeatures-button-cancel"
55
+ });
56
+ }
57
+ const P = async (e) => {
58
+ try {
59
+ d("button_click", {
60
+ button_name: "add feature save button",
61
+ button_type: "submit",
62
+ button_id: "assignfeatures-button-save"
63
+ });
64
+ const s = {
65
+ featureId: e.values.map((a) => a.id).join(",")
66
+ };
67
+ await M(s, C), f({
68
+ message: "Feature successfully assigned to selected role",
69
+ type: "success"
70
+ }), await _(), h.current = !0, u();
71
+ } catch (o) {
72
+ f({
73
+ message: `Error : ${o == null ? void 0 : o.message}`,
74
+ type: "error"
75
+ });
76
+ }
77
+ }, D = async () => {
78
+ try {
79
+ const { data: e } = await X(), s = G(e).sort(
80
+ (a, r) => {
81
+ var y;
82
+ return (y = a.name) == null ? void 0 : y.localeCompare(r.name);
83
+ }
84
+ ).filter(
85
+ (a) => !(l != null && l.some(
86
+ (r) => r.featureId === a.id
87
+ ))
88
+ );
89
+ E(s);
90
+ } catch (e) {
91
+ f({
92
+ message: `Error : ${e == null ? void 0 : e.message}`,
93
+ type: "error"
94
+ });
95
+ }
96
+ };
97
+ return H(() => {
98
+ D();
99
+ }, [l]), /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
100
+ V,
101
+ {
102
+ open: k,
103
+ onClose: u,
104
+ "data-testid": "assignfeatures-modal",
105
+ children: /* @__PURE__ */ t(
106
+ i,
107
+ {
108
+ container: !0,
109
+ className: "absolute top-[10%] left-[50%] transform -translate-x-1/2 w-[95%] sm:w-[37.5rem] shadow-2xl rounded-md border flex flex-col h-auto max-h-[80vh] overflow-y-auto",
110
+ sx: { bgcolor: "background.paper" },
111
+ children: /* @__PURE__ */ n(i, { className: "flex flex-col gap-2", children: [
112
+ /* @__PURE__ */ t(
113
+ x,
114
+ {
115
+ className: "p-2.5 px-5 flex w-full justify-start",
116
+ sx: { borderBottom: 1, borderColor: "divider" },
117
+ children: /* @__PURE__ */ t(
118
+ p,
119
+ {
120
+ className: "font-medium text-lg text-customBlue",
121
+ sx: { color: "text.primary" },
122
+ children: m("Assign New Feature")
123
+ }
124
+ )
125
+ }
126
+ ),
127
+ /* @__PURE__ */ n(
128
+ x,
129
+ {
130
+ className: "p-2.5 max-h-100 overflow-auto",
131
+ sx: { borderBottom: 1, borderColor: "divider" },
132
+ children: [
133
+ /* @__PURE__ */ t(
134
+ U,
135
+ {
136
+ options: I,
137
+ getOptionLabel: (e) => e.name,
138
+ control: B,
139
+ name: "values",
140
+ errors: j,
141
+ dataTestId: "assignfeatures-autocomplete"
142
+ }
143
+ ),
144
+ b.length > 0 && /* @__PURE__ */ t(i, { className: "overflow-y-auto flex flex-col max-h-40 h-auto", children: /* @__PURE__ */ t($, { children: b.filter((e) => e.description).map((e) => /* @__PURE__ */ t(z, { children: /* @__PURE__ */ n(p, { children: [
145
+ /* @__PURE__ */ n("strong", { children: [
146
+ e == null ? void 0 : e.name,
147
+ ":"
148
+ ] }),
149
+ " ",
150
+ e == null ? void 0 : e.description
151
+ ] }) }, e == null ? void 0 : e.id)) }) })
152
+ ]
153
+ }
154
+ ),
155
+ /* @__PURE__ */ n(
156
+ W,
157
+ {
158
+ direction: "row",
159
+ spacing: 2,
160
+ justifyContent: "flex-end",
161
+ mt: 2,
162
+ mb: 1,
163
+ className: "px-4",
164
+ children: [
165
+ /* @__PURE__ */ t(
166
+ v,
167
+ {
168
+ variant: "contained",
169
+ color: "secondary",
170
+ onClick: u,
171
+ "data-testid": "assignfeatures-button-cancel",
172
+ children: /* @__PURE__ */ t(
173
+ p,
174
+ {
175
+ variant: "caption",
176
+ "data-testid": "assignfeatures-typography-cancel",
177
+ children: m("Cancel")
178
+ }
179
+ )
180
+ }
181
+ ),
182
+ /* @__PURE__ */ t(
183
+ v,
184
+ {
185
+ size: "small",
186
+ variant: "contained",
187
+ color: "primary",
188
+ onClick: A(P),
189
+ "data-testid": "assignfeatures-button-save",
190
+ children: m("Add")
191
+ }
192
+ )
193
+ ]
194
+ }
195
+ )
196
+ ] })
197
+ }
198
+ )
199
+ }
200
+ ) });
201
+ }
202
+ Y.propTypes = {
203
+ assignedFeatureList: c.any,
204
+ selectedId: c.any,
205
+ open: c.any,
206
+ setOpenModal: c.any,
207
+ setData: c.any
208
+ };
209
+ export {
210
+ Y as default
211
+ };
212
+ //# sourceMappingURL=AddFeatures-BxXCC6ex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddFeatures-BxXCC6ex.js","sources":["../src/views/Roles/AddFeatures.jsx"],"sourcesContent":["import { postNewFeature } from \"../../services/Roles\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n Box,\n Button,\n List,\n ListItem,\n Modal,\n Stack,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { getFeaturesV2 } from \"@/common/services/AuthenticateService\";\n// import { getFeatures } from \"@/common/services/AuthenticateService\";\n\nexport default function AddFeatures({\n assignedFeatureList,\n selectedId,\n setData,\n open,\n setOpenModal,\n}) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const { translate } = useTranslateProvider();\n const [features, setFeatures] = useState([]);\n\n const validationSchema = Yup.object().shape({\n values: Yup.array().min(1, \"Please select at least one feature.\"),\n });\n\n const {\n formState: { errors },\n handleSubmit,\n reset,\n control,\n watch,\n } = useForm({\n defaultValues: {\n values: [],\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const featuresWatcher = watch(\"values\");\n\n function extractFeatures(data) {\n const features = [];\n for (const key in data) {\n data[key].forEach((item) => {\n if (item.subGroups) {\n item.subGroups.forEach((subGroup) => features.push(subGroup));\n } else {\n features.push(item);\n }\n });\n }\n return features;\n }\n\n const trackEvent = useTrackEvent();\n\n function handleClose() {\n reset();\n setOpenModal(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Feature\",\n submit: submitRef.current,\n });\n trackEvent(\"button_click\", {\n button_name: \"add feature cancel button\",\n button_type: \"cancel\",\n button_id: \"assignfeatures-button-cancel\",\n });\n }\n\n const onSubmit = async (value) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add feature save button\",\n button_type: \"submit\",\n button_id: \"assignfeatures-button-save\",\n });\n const selectedFeatureIds = value.values\n .map((feature) => feature.id)\n .join(\",\");\n const featureIds = {\n featureId: selectedFeatureIds,\n };\n\n await postNewFeature(featureIds, selectedId);\n showToast({\n message: \"Feature successfully assigned to selected role\",\n type: \"success\",\n });\n await setData();\n\n submitRef.current = true;\n handleClose();\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n const loadData = async () => {\n try {\n const { data: features } = await getFeaturesV2();\n\n const data = extractFeatures(features).sort((a, b) =>\n a.name?.localeCompare(b.name),\n );\n\n const AvailableFeatures = data.filter(\n (feature) =>\n !assignedFeatureList?.some(\n (availableFeature) => availableFeature.featureId === feature.id,\n ),\n );\n setFeatures(AvailableFeatures);\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n\n useEffect(() => {\n loadData();\n }, [assignedFeatureList]);\n\n return (\n <Grid>\n <Modal\n open={open}\n onClose={handleClose}\n data-testid=\"assignfeatures-modal\"\n >\n <Grid\n container\n className=\"absolute top-[10%] left-[50%] transform -translate-x-1/2 w-[95%] sm:w-[37.5rem] shadow-2xl rounded-md border flex flex-col h-auto max-h-[80vh] overflow-y-auto\"\n sx={{ bgcolor: \"background.paper\" }}\n >\n <Grid className=\"flex flex-col gap-2\">\n <Box\n className=\"p-2.5 px-5 flex w-full justify-start\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <Typography\n className=\"font-medium text-lg text-customBlue\"\n sx={{ color: \"text.primary\" }}\n >\n {translate(\"Assign New Feature\")}\n </Typography>\n </Box>\n <Box\n className=\"p-2.5 max-h-100 overflow-auto\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <CustomAutocomplete\n options={features}\n getOptionLabel={(option) => option.name}\n control={control}\n name={\"values\"}\n errors={errors}\n dataTestId={\"assignfeatures-autocomplete\"}\n />\n {featuresWatcher.length > 0 && (\n <Grid className=\"overflow-y-auto flex flex-col max-h-40 h-auto\">\n <List>\n {featuresWatcher\n .filter((feature) => feature.description)\n .map((feature) => (\n <ListItem key={feature?.id}>\n <Typography>\n <strong>{feature?.name}:</strong>{\" \"}\n {feature?.description}\n </Typography>\n </ListItem>\n ))}\n </List>\n </Grid>\n )}\n </Box>\n\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1}\n className=\"px-4\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={handleClose}\n data-testid=\"assignfeatures-button-cancel\"\n >\n <Typography\n variant=\"caption\"\n data-testid=\"assignfeatures-typography-cancel\"\n >\n {translate(\"Cancel\")}\n </Typography>\n </Button>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSubmit(onSubmit)}\n data-testid=\"assignfeatures-button-save\"\n >\n {translate(\"Add\")}\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\n </Grid>\n );\n}\n\nAddFeatures.propTypes = {\n assignedFeatureList: PropTypes.any,\n selectedId: PropTypes.any,\n open: PropTypes.any,\n setOpenModal: PropTypes.any,\n setData: PropTypes.any,\n};\n"],"names":["AddFeatures","assignedFeatureList","selectedId","setData","open","setOpenModal","formRef","useRef","submitRef","translate","useTranslateProvider","features","setFeatures","useState","validationSchema","Yup","errors","handleSubmit","reset","control","watch","useForm","yupResolver","featuresWatcher","extractFeatures","data","key","item","subGroup","trackEvent","useTrackEvent","handleClose","onSubmit","value","featureIds","feature","postNewFeature","showToast","error","loadData","getFeaturesV2","AvailableFeatures","b","_a","availableFeature","useEffect","Grid","jsx","Modal","jsxs","Box","Typography","CustomAutocomplete","option","List","ListItem","Stack","Button","PropTypes"],"mappings":"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"}