@argusoft/medplat-core 1.0.15 → 1.0.16

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 (26) hide show
  1. package/dist/{ChangePasswordModalCore-CTGy8Ttf.js → ChangePasswordModalCore-ClND1mel.js} +67 -62
  2. package/dist/ChangePasswordModalCore-ClND1mel.js.map +1 -0
  3. package/dist/{ImmunizationConfigurationBase-DZ8EqXlF.js → ImmunizationConfigurationBase-VqVvVR57.js} +2095 -1872
  4. package/dist/ImmunizationConfigurationBase-VqVvVR57.js.map +1 -0
  5. package/dist/{ManageNotification-EQgnOO0U.js → ManageNotification-BUAvg5Ge.js} +1737 -1645
  6. package/dist/{ManageNotification-EQgnOO0U.js.map → ManageNotification-BUAvg5Ge.js.map} +1 -1
  7. package/dist/{ManageUser-C9uMe9av.js → ManageUser-eBS0yC5k.js} +80 -83
  8. package/dist/{ManageUser-C9uMe9av.js.map → ManageUser-eBS0yC5k.js.map} +1 -1
  9. package/dist/{NotificationList-BZwvgsf6.js → NotificationList-CUZSWp2J.js} +2 -2
  10. package/dist/{NotificationList-BZwvgsf6.js.map → NotificationList-CUZSWp2J.js.map} +1 -1
  11. package/dist/OtherTypeEventConfigModal-dXt2qDg_.js.map +1 -1
  12. package/dist/QueryManagement-B2y23kus.js +935 -0
  13. package/dist/QueryManagement-B2y23kus.js.map +1 -0
  14. package/dist/{UserList-BH6OpZvq.js → UserList-BAeAFeXZ.js} +2 -2
  15. package/dist/{UserList-BH6OpZvq.js.map → UserList-BAeAFeXZ.js.map} +1 -1
  16. package/dist/{UserListSkeleton-cglK2SaU.js → UserListSkeleton-DhIJ5X3y.js} +10 -7
  17. package/dist/UserListSkeleton-DhIJ5X3y.js.map +1 -0
  18. package/dist/index.css +1 -1
  19. package/dist/index.js +55 -54
  20. package/dist/index.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/ChangePasswordModalCore-CTGy8Ttf.js.map +0 -1
  23. package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
  24. package/dist/QueryManagement-BpIRH8hI.js +0 -685
  25. package/dist/QueryManagement-BpIRH8hI.js.map +0 -1
  26. package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
@@ -1,72 +1,76 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
2
  import { yupResolver as j } from "@hookform/resolvers/yup";
3
- import m from "prop-types";
4
- import { Modal as q, Paper as R, Card as k, CardHeader as A, Typography as l, CardContent as B, Button as g } from "@mui/material";
3
+ import d from "prop-types";
4
+ import { Modal as k, Paper as B, Card as M, CardHeader as $, Typography as l, CardContent as F, Button as y } from "@mui/material";
5
5
  import s from "@mui/material/Grid2";
6
- import * as n from "yup";
7
- import { useRef as y, useEffect as F } from "react";
6
+ import * as t from "yup";
7
+ import { useMemo as G, useRef as b, useEffect as H } from "react";
8
8
  import { useForm as I } from "react-hook-form";
9
- import { P, a as M } from "./ManageUser-C9uMe9av.js";
10
- import W from "@/hooks/useAESEncryption.js";
11
- import { o as _ } from "./UserListSkeleton-cglK2SaU.js";
12
- import { showToast as b } from "@/common/toaster/toaster.jsx";
13
- import $ from "@/hooks/useTrackEvent";
14
- import { useTranslateProvider as G } from "@/common/languageTranslator/TranslationContext";
15
- const H = n.object().shape({
16
- password: n.string().required("Password is required").matches(
17
- /^(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&#]).{8,}$/,
18
- "Password must be at least 8 characters long with one uppercase letter and one special character"
19
- ),
20
- confirmPassword: n.string().required("Confirm Password is required").oneOf([n.ref("password"), null], "Passwords do not match")
21
- }), O = ({ open: x, onClose: d, userId: C, ...v }) => {
22
- const {
23
- control: p,
24
- formState: { errors: h },
25
- handleSubmit: N,
26
- watch: S
27
- } = I({ resolver: j(H), mode: "onChange" }), i = y(null), w = y(!1), z = $(), E = W(), { translate: a } = G(), T = async ({ password: t }) => {
28
- var u, f;
9
+ import { P as x, a as O } from "./ManageUser-eBS0yC5k.js";
10
+ import V from "@/hooks/useAESEncryption.js";
11
+ import { o as W } from "./UserListSkeleton-DhIJ5X3y.js";
12
+ import { showToast as C } from "@/common/toaster/toaster.jsx";
13
+ import _ from "@/common/services/util/GeneralUtil";
14
+ import D from "@/hooks/useTrackEvent";
15
+ import { useTranslateProvider as U } from "@/common/languageTranslator/TranslationContext";
16
+ const Z = ({ open: v, onClose: i, userId: N, roleCode: p, ...S }) => {
17
+ const h = _.isOasis && (p === "RHP" || p === "PARAVET"), z = G(
18
+ () => t.object().shape({
19
+ password: h ? t.string().required("Password is required").matches(/^\d{6}$/, "Password must be a 6 digit number") : t.string().required("Password is required").matches(
20
+ /^(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&#]).{8,}$/,
21
+ "Password must be at least 8 characters long with one uppercase letter and one special character"
22
+ ),
23
+ confirmPassword: t.string().required("Confirm Password is required").oneOf([t.ref("password"), null], "Passwords do not match")
24
+ }),
25
+ [h]
26
+ ), {
27
+ control: u,
28
+ formState: { errors: w },
29
+ handleSubmit: E,
30
+ watch: T
31
+ } = I({ resolver: j(z), mode: "onChange" }), c = b(null), f = b(!1), q = D(), R = V(), { translate: a } = U(), A = async ({ password: o }) => {
32
+ var g, P;
29
33
  try {
30
- const c = await E.encrypt(t);
34
+ const m = await R.encrypt(o);
31
35
  try {
32
- await _({
33
- oldPassword: c,
34
- userId: C
35
- }), d(), b({
36
+ await W({
37
+ oldPassword: m,
38
+ userId: N
39
+ }), i(), C({
36
40
  message: "Password Changed Successfully",
37
41
  type: "success"
38
- }), w.current = !0;
39
- } catch (o) {
40
- console.error(o), b({
41
- message: ((f = (u = o == null ? void 0 : o.response) == null ? void 0 : u.data) == null ? void 0 : f.message) || "Something Went Wrong",
42
+ }), f.current = !0;
43
+ } catch (n) {
44
+ console.error(n), C({
45
+ message: ((P = (g = n == null ? void 0 : n.response) == null ? void 0 : g.data) == null ? void 0 : P.message) || "Something Went Wrong",
42
46
  type: "error"
43
47
  });
44
48
  }
45
- } catch (c) {
46
- console.error(c);
49
+ } catch (m) {
50
+ console.error(m);
47
51
  }
48
52
  };
49
- return F(() => {
50
- let t = i.current;
53
+ return H(() => {
54
+ let o = c.current;
51
55
  return () => {
52
- t && z("conversion_event", {
53
- form: t,
56
+ o && q("conversion_event", {
57
+ form: o,
54
58
  form_name: "Change Password",
55
- submit: w.current
59
+ submit: f.current
56
60
  });
57
61
  };
58
- }, [i.current]), /* @__PURE__ */ e(q, { open: x, onClose: d, ...v, children: /* @__PURE__ */ e(R, { className: "absolute mt-[12rem] top-[10%] left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[90%] md:w-[60%]", children: /* @__PURE__ */ r(
59
- k,
62
+ }, [c.current]), /* @__PURE__ */ e(k, { open: v, onClose: i, ...S, children: /* @__PURE__ */ e(B, { className: "absolute mt-[12rem] top-[10%] left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[90%] md:w-[60%]", children: /* @__PURE__ */ r(
63
+ M,
60
64
  {
61
65
  className: "m-0",
62
66
  elevation: 5,
63
67
  component: "form",
64
- ref: i,
65
- onSubmit: N(T),
68
+ ref: c,
69
+ onSubmit: E(A),
66
70
  noValidate: !0,
67
71
  children: [
68
72
  /* @__PURE__ */ e(
69
- A,
73
+ $,
70
74
  {
71
75
  className: "",
72
76
  subheader: /* @__PURE__ */ r(l, { className: "subheader-style text-customBlue text-lg", children: [
@@ -76,7 +80,7 @@ const H = n.object().shape({
76
80
  "data-testid": "changepasswordmodal-cardheader-subheader"
77
81
  }
78
82
  ),
79
- /* @__PURE__ */ r(B, { children: [
83
+ /* @__PURE__ */ r(F, { children: [
80
84
  /* @__PURE__ */ r(s, { container: !0, spacing: 2, alignItems: "space-between", children: [
81
85
  /* @__PURE__ */ e(s, { size: { xs: 10 }, children: /* @__PURE__ */ r(l, { variant: "body1", className: "flex items-center", children: [
82
86
  a("New Password"),
@@ -89,11 +93,11 @@ const H = n.object().shape({
89
93
  size: { xs: 12 },
90
94
  "data-testid": "changepasswordmodal-grid-newpasswordfield",
91
95
  children: /* @__PURE__ */ e(
92
- P,
96
+ x,
93
97
  {
94
- control: p,
98
+ control: u,
95
99
  name: "password",
96
- errors: h
100
+ errors: w
97
101
  }
98
102
  )
99
103
  }
@@ -103,7 +107,7 @@ const H = n.object().shape({
103
107
  {
104
108
  size: { xs: 12 },
105
109
  "data-testid": "changepasswordmodal-grid-passwordstrengthbar",
106
- children: /* @__PURE__ */ e(M, { password: S("password") })
110
+ children: /* @__PURE__ */ e(O, { password: T("password") })
107
111
  }
108
112
  ),
109
113
  /* @__PURE__ */ e(
@@ -124,11 +128,11 @@ const H = n.object().shape({
124
128
  size: { xs: 12 },
125
129
  "data-testid": "changepaConfirm Passwordsswordmodal-grid-confirmpasswordfield",
126
130
  children: /* @__PURE__ */ e(
127
- P,
131
+ x,
128
132
  {
129
- control: p,
133
+ control: u,
130
134
  name: "confirmPassword",
131
- errors: h
135
+ errors: w
132
136
  }
133
137
  )
134
138
  }
@@ -136,7 +140,7 @@ const H = n.object().shape({
136
140
  ] }),
137
141
  /* @__PURE__ */ r(s, { container: !0, wrap: "nowrap", gap: 1, justifyContent: "flex-end", children: [
138
142
  /* @__PURE__ */ e(
139
- g,
143
+ y,
140
144
  {
141
145
  type: "submit",
142
146
  variant: "contained",
@@ -148,10 +152,10 @@ const H = n.object().shape({
148
152
  }
149
153
  ),
150
154
  /* @__PURE__ */ e(
151
- g,
155
+ y,
152
156
  {
153
157
  variant: "contained",
154
- onClick: d,
158
+ onClick: i,
155
159
  className: "mt-[1rem]",
156
160
  color: "secondary",
157
161
  size: "small",
@@ -165,12 +169,13 @@ const H = n.object().shape({
165
169
  }
166
170
  ) }) });
167
171
  };
168
- O.propTypes = {
169
- open: m.any,
170
- onClose: m.any,
171
- userId: m.any
172
+ Z.propTypes = {
173
+ open: d.bool,
174
+ onClose: d.func,
175
+ userId: d.number,
176
+ roleCode: d.string
172
177
  };
173
178
  export {
174
- O as default
179
+ Z as default
175
180
  };
176
- //# sourceMappingURL=ChangePasswordModalCore-CTGy8Ttf.js.map
181
+ //# sourceMappingURL=ChangePasswordModalCore-ClND1mel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangePasswordModalCore-ClND1mel.js","sources":["../src/views/Users/ChangePasswordModalCore.jsx"],"sourcesContent":["import { yupResolver } from \"@hookform/resolvers/yup\";\nimport PropTypes from \"prop-types\";\nimport {\n Button,\n Card,\n CardContent,\n CardHeader,\n Modal,\n Paper,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport * as yup from \"yup\";\nimport React, { useEffect, useMemo, useRef } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport PasswordStrengthBar from \"react-password-strength-bar\";\nimport useAESEncryption from \"@/hooks/useAESEncryption.js\";\nimport { changePassword } from \"../../services/Users.js\";\nimport { showToast } from \"@/common/toaster/toaster.jsx\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { PasswordField } from \"./PasswordField\";\n\n/**\n * A modal component for changing the password of a user.\n * @module ChangePasswordModal\n * @param {Object} props - The component props.\n * @param {boolean} props.open - A boolean that controls whether the modal is open or closed.\n * @param {Function} props.onClose - A function that is called to close the modal.\n * @param {string} props.userId - The ID of the user whose password is being changed.\n *\n * @returns {JSX.Element} The rendered modal component.\n */\n\nconst ChangePasswordModal = ({ open, onClose, userId, roleCode, ...props }) => {\n const isSixDigitPin =\n GeneralUtil.isOasis && (roleCode === \"RHP\" || roleCode === \"PARAVET\");\n\n const validationSchema = useMemo(\n () =>\n yup.object().shape({\n password: isSixDigitPin\n ? yup\n .string()\n .required(\"Password is required\")\n .matches(/^\\d{6}$/, \"Password must be a 6 digit number\")\n : yup\n .string()\n .required(\"Password is required\")\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&#]).{8,}$/,\n \"Password must be at least 8 characters long with one uppercase letter and one special character\",\n ),\n confirmPassword: yup\n .string()\n .required(\"Confirm Password is required\")\n .oneOf([yup.ref(\"password\"), null], \"Passwords do not match\"),\n }),\n [isSixDigitPin],\n );\n\n const {\n control,\n formState: { errors },\n handleSubmit,\n watch,\n } = useForm({ resolver: yupResolver(validationSchema), mode: \"onChange\" });\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const AESEncryption = useAESEncryption();\n const { translate } = useTranslateProvider();\n\n /**\n * Handles the process of changing a user's password.\n * @function handleChangePassword\n * @param {Object} params - The parameters for changing the password.\n * @param {string} params.password - The new password to be set.\n * @returns {Promise<void>} A promise that resolves when the password change operation is complete.\n */\n\n const handleChangePassword = async ({ password }) => {\n try {\n const encryptedPassword = await AESEncryption.encrypt(password);\n try {\n await changePassword({\n oldPassword: encryptedPassword,\n userId,\n });\n onClose();\n showToast({\n message: \"Password Changed Successfully\",\n type: \"success\",\n });\n submitRef.current = true;\n } catch (error) {\n console.error(error);\n showToast({\n message: error?.response?.data?.message || \"Something Went Wrong\",\n type: \"error\",\n });\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n useEffect(() => {\n let form = formRef.current;\n\n return () => {\n if (form) {\n trackEvent(\"conversion_event\", {\n form: form,\n form_name: \"Change Password\",\n submit: submitRef.current,\n });\n }\n };\n }, [formRef.current]);\n return (\n <Modal open={open} onClose={onClose} {...props}>\n <Paper className=\"absolute mt-[12rem] top-[10%] left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[90%] md:w-[60%]\">\n <Card\n className=\"m-0\"\n elevation={5}\n component=\"form\"\n ref={formRef}\n onSubmit={handleSubmit(handleChangePassword)}\n noValidate\n >\n <CardHeader\n className=\"\"\n subheader={\n <Typography className=\"subheader-style text-customBlue text-lg\">\n {translate(\"Change Password\")}{\" \"}\n </Typography>\n }\n data-testid=\"changepasswordmodal-cardheader-subheader\"\n />\n <CardContent>\n <Grid container spacing={2} alignItems=\"space-between\">\n <Grid size={{ xs: 10 }}>\n <Typography variant=\"body1\" className=\"flex items-center\">\n {translate(\"New Password\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n </Grid>\n\n <Grid\n size={{ xs: 12 }}\n data-testid=\"changepasswordmodal-grid-newpasswordfield\"\n >\n <PasswordField\n control={control}\n name=\"password\"\n errors={errors}\n />\n </Grid>\n <Grid\n size={{ xs: 12 }}\n data-testid=\"changepasswordmodal-grid-passwordstrengthbar\"\n >\n <PasswordStrengthBar password={watch(\"password\")} />\n </Grid>\n <Grid\n size={{ xs: 12 }}\n data-testid=\"changepasswordmodal-grid-confirmpasswordlabel\"\n >\n <Typography variant=\"body1\" className=\"flex items-center\">\n {translate(\"Confirm Password\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n </Grid>\n <Grid\n size={{ xs: 12 }}\n data-testid=\"changepaConfirm Passwordsswordmodal-grid-confirmpasswordfield\"\n >\n <PasswordField\n control={control}\n name=\"confirmPassword\"\n errors={errors}\n />\n </Grid>\n </Grid>\n <Grid container wrap=\"nowrap\" gap={1} justifyContent=\"flex-end\">\n <Button\n type=\"submit\"\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n className=\"mt-[1rem]\"\n data-testid=\"changepasswordmodal-button-submit\"\n >\n {translate(\"Change Password\")}\n </Button>\n <Button\n variant=\"contained\"\n onClick={onClose}\n className=\"mt-[1rem]\"\n color=\"secondary\"\n size=\"small\"\n data-testid=\"changepasswordmodal-button-cancel\"\n >\n {translate(\"Cancel\")}\n </Button>\n </Grid>\n </CardContent>\n </Card>\n </Paper>\n </Modal>\n );\n};\n\nexport default ChangePasswordModal;\n\nChangePasswordModal.propTypes = {\n open: PropTypes.bool,\n onClose: PropTypes.func,\n userId: PropTypes.number,\n roleCode: PropTypes.string,\n};\n"],"names":["ChangePasswordModal","open","onClose","userId","roleCode","props","isSixDigitPin","GeneralUtil","validationSchema","useMemo","yup","control","errors","handleSubmit","watch","useForm","yupResolver","formRef","useRef","submitRef","trackEvent","useTrackEvent","AESEncryption","useAESEncryption","translate","useTranslateProvider","handleChangePassword","password","encryptedPassword","changePassword","showToast","error","_b","_a","useEffect","form","jsx","Modal","Paper","jsxs","Card","CardHeader","Typography","CardContent","Grid","PasswordField","PasswordStrengthBar","Button","PropTypes"],"mappings":"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"}