@bigbinary/neeto-approvals-frontend 1.2.16 → 1.2.19

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 (89) hide show
  1. package/README.md +0 -2
  2. package/dist/.ready +1 -0
  3. package/dist/Approvals.js +44 -107
  4. package/dist/Approvals.js.map +1 -1
  5. package/dist/Form.js +9 -32
  6. package/dist/Form.js.map +1 -1
  7. package/dist/Public.js +7 -50
  8. package/dist/Public.js.map +1 -1
  9. package/dist/RequestDetailsPane.js +4 -2
  10. package/dist/RequestDetailsPane.js.map +1 -1
  11. package/dist/cjs/Approvals.js +83 -146
  12. package/dist/cjs/Approvals.js.map +1 -1
  13. package/dist/cjs/Form.js +15 -38
  14. package/dist/cjs/Form.js.map +1 -1
  15. package/dist/cjs/Public.js +10 -53
  16. package/dist/cjs/Public.js.map +1 -1
  17. package/dist/cjs/RequestDetailsPane.js +4 -2
  18. package/dist/cjs/RequestDetailsPane.js.map +1 -1
  19. package/dist/cjs/index.js +12 -7
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/v2/Approvals.js +1003 -0
  22. package/dist/cjs/v2/Approvals.js.map +1 -0
  23. package/dist/cjs/v2/Form.js +199 -0
  24. package/dist/cjs/v2/Form.js.map +1 -0
  25. package/dist/cjs/v2/Public.js +130 -0
  26. package/dist/cjs/v2/Public.js.map +1 -0
  27. package/dist/cjs/v2/RequestDetailsPane.js +31 -0
  28. package/dist/cjs/v2/RequestDetailsPane.js.map +1 -0
  29. package/dist/cjs/v2/index.js +59 -0
  30. package/dist/cjs/v2/index.js.map +1 -0
  31. package/dist/{constants-BX-hlAjh.js → constants-BwvPJzqf.js} +1 -16
  32. package/dist/constants-BwvPJzqf.js.map +1 -0
  33. package/dist/constants-DaDwtZe3.js +83 -0
  34. package/dist/constants-DaDwtZe3.js.map +1 -0
  35. package/dist/constants-DzID-rqV.js +53 -0
  36. package/dist/constants-DzID-rqV.js.map +1 -0
  37. package/dist/{constants-B5EiwxHH.js → constants-qLYJlKc6.js} +2 -14
  38. package/dist/constants-qLYJlKc6.js.map +1 -0
  39. package/dist/index-C9Ur59-i.js +228 -0
  40. package/dist/index-C9Ur59-i.js.map +1 -0
  41. package/dist/{index-pLvVQgrV.js → index-CFiP9Hcn.js} +4 -49
  42. package/dist/index-CFiP9Hcn.js.map +1 -0
  43. package/dist/index-DumSd5fj.js +224 -0
  44. package/dist/index-DumSd5fj.js.map +1 -0
  45. package/dist/{index-BBsNL9uK.js → index-t8u9Sjvr.js} +4 -48
  46. package/dist/index-t8u9Sjvr.js.map +1 -0
  47. package/dist/index.js +12 -7
  48. package/dist/index.js.map +1 -1
  49. package/dist/queryConstants-DjYiOKxE.js +18 -0
  50. package/dist/queryConstants-DjYiOKxE.js.map +1 -0
  51. package/dist/queryConstants-Vrcjv9lF.js +14 -0
  52. package/dist/queryConstants-Vrcjv9lF.js.map +1 -0
  53. package/dist/useApprovalRequest-D_WJmB5t.js +53 -0
  54. package/dist/useApprovalRequest-D_WJmB5t.js.map +1 -0
  55. package/dist/useApprovalRequest-XjfcKfLQ.js +57 -0
  56. package/dist/useApprovalRequest-XjfcKfLQ.js.map +1 -0
  57. package/dist/useApproversApi-B7ChYonT.js +32 -0
  58. package/dist/useApproversApi-B7ChYonT.js.map +1 -0
  59. package/dist/useApproversApi-BO6XC1KJ.js +34 -0
  60. package/dist/useApproversApi-BO6XC1KJ.js.map +1 -0
  61. package/dist/useRequestsApi-DEGfFuv5.js +50 -0
  62. package/dist/useRequestsApi-DEGfFuv5.js.map +1 -0
  63. package/dist/useRequestsApi-DO-oEAzQ.js +53 -0
  64. package/dist/useRequestsApi-DO-oEAzQ.js.map +1 -0
  65. package/dist/{useTemplatesApi-CwlWKJYa.js → useTemplatesApi-BII_qvcl.js} +4 -3
  66. package/dist/useTemplatesApi-BII_qvcl.js.map +1 -0
  67. package/dist/{useTemplatesApi-BhdNkkYy.js → useTemplatesApi-ByO6idQD.js} +15 -14
  68. package/dist/useTemplatesApi-ByO6idQD.js.map +1 -0
  69. package/dist/useViewsApi-B1OpZkLp.js +76 -0
  70. package/dist/useViewsApi-B1OpZkLp.js.map +1 -0
  71. package/dist/useViewsApi-k6u7op_J.js +71 -0
  72. package/dist/useViewsApi-k6u7op_J.js.map +1 -0
  73. package/dist/v2/Approvals.js +982 -0
  74. package/dist/v2/Approvals.js.map +1 -0
  75. package/dist/v2/Form.js +197 -0
  76. package/dist/v2/Form.js.map +1 -0
  77. package/dist/v2/Public.js +128 -0
  78. package/dist/v2/Public.js.map +1 -0
  79. package/dist/v2/RequestDetailsPane.js +25 -0
  80. package/dist/v2/RequestDetailsPane.js.map +1 -0
  81. package/dist/v2/index.js +50 -0
  82. package/dist/v2/index.js.map +1 -0
  83. package/package.json +50 -36
  84. package/dist/constants-B5EiwxHH.js.map +0 -1
  85. package/dist/constants-BX-hlAjh.js.map +0 -1
  86. package/dist/index-BBsNL9uK.js.map +0 -1
  87. package/dist/index-pLvVQgrV.js.map +0 -1
  88. package/dist/useTemplatesApi-BhdNkkYy.js.map +0 -1
  89. package/dist/useTemplatesApi-CwlWKJYa.js.map +0 -1
@@ -12,11 +12,9 @@ var Tag = require('@bigbinary/neetoui/Tag');
12
12
  var Textarea = require('@bigbinary/neetoui/Textarea');
13
13
  var Typography = require('@bigbinary/neetoui/Typography');
14
14
  var reactI18next = require('react-i18next');
15
- var reactQuery = require('@tanstack/react-query');
16
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
17
- var axios = require('axios');
18
- var constants = require('./constants-BX-hlAjh.js');
15
+ var useRequestsApi = require('./useRequestsApi-DO-oEAzQ.js');
19
16
  var Button = require('@bigbinary/neetoui/Button');
17
+ var constants = require('./constants-BwvPJzqf.js');
20
18
  var jsxRuntime = require('react/jsx-runtime');
21
19
  var dayjs = require('dayjs');
22
20
  var timezone = require('@bigbinary/neeto-commons-frontend/utils/timezonePlugin');
@@ -25,48 +23,6 @@ var i18next = require('i18next');
25
23
  var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
26
24
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
27
25
 
28
- var fetch = function fetch(params, url) {
29
- return axios.get(url, {
30
- params: params
31
- });
32
- };
33
- var update = function update(_ref) {
34
- var id = _ref.id,
35
- payload = _ref.payload;
36
- return axios.put("".concat(constants.BASE_URL, "/requests/").concat(id), {
37
- request: payload
38
- });
39
- };
40
- var requestsApi = {
41
- fetch: fetch,
42
- update: update
43
- };
44
-
45
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
- var useFetchRequests = function useFetchRequests(_ref) {
48
- var requestUrl = _ref.requestUrl,
49
- _ref$params = _ref.params,
50
- params = _ref$params === void 0 ? {} : _ref$params,
51
- _ref$options = _ref.options,
52
- options = _ref$options === void 0 ? {} : _ref$options;
53
- return reactQuery.useQuery(_objectSpread({
54
- queryKey: [constants.QUERY_KEYS.REQUESTS, params],
55
- queryFn: function queryFn() {
56
- return requestsApi.fetch(params, requestUrl);
57
- },
58
- select: function select(response) {
59
- return response.data || response;
60
- },
61
- placeholderData: reactQuery.keepPreviousData
62
- }, options));
63
- };
64
- var useUpdateRequest = function useUpdateRequest(options) {
65
- return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread({
66
- keysToInvalidate: [[constants.QUERY_KEYS.REQUESTS], [constants.QUERY_KEYS.VIEWS]]
67
- }, options));
68
- };
69
-
70
26
  var Footer = function Footer(_ref) {
71
27
  var isLoading = _ref.isLoading,
72
28
  handleSubmit = _ref.handleSubmit,
@@ -168,7 +124,7 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
168
124
  _useState2 = _slicedToArray(_useState, 2),
169
125
  note = _useState2[0],
170
126
  setNote = _useState2[1];
171
- var _useUpdateRequest = useUpdateRequest(),
127
+ var _useUpdateRequest = useRequestsApi.useUpdateRequest(),
172
128
  updatePendingRequest = _useUpdateRequest.mutate,
173
129
  isUpdateRequestPending = _useUpdateRequest.isPending;
174
130
  react.useEffect(function () {
@@ -275,5 +231,4 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
275
231
  exports.RequestDetailsPane = RequestDetailsPane;
276
232
  exports.getApprovalFilter = getApprovalFilter;
277
233
  exports.updateApprovalDetails = updateApprovalDetails;
278
- exports.useFetchRequests = useFetchRequests;
279
- //# sourceMappingURL=index-pLvVQgrV.js.map
234
+ //# sourceMappingURL=index-CFiP9Hcn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CFiP9Hcn.js","sources":["../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"h-auto flex-grow space-y-6 pb-6\">\n <div className=\"neeto-ui-rounded w-full divide-y border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Pane","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","style","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","request","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Typography","Tag","capitalize","STATUS_TAG_STYLE","Body","Label","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAKN;AAAA,EAAA,IAJJC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,qBAAqB,GAAAH,IAAA,CAArBG,qBAAqB;IACrBC,sBAAsB,GAAAJ,IAAA,CAAtBI,sBAAsB;AAEtB,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAI,CAACJ,qBAAqB,IAAI,CAACC,sBAAsB,EAAE,OAAO,IAAI;AAElE,EAAA,IAAID,qBAAqB,EAAE;AACzB,IAAA,oBACEK,eAAA,CAACC,IAAI,CAACV,MAAM,EAAA;AAACW,MAAAA,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAA,cACjDC,cAAA,CAACC,MAAM,EAAA;AACLC,QAAAA,KAAK,EAAEP,CAAC,CAAC,gCAAgC,CAAE;AAC3CQ,QAAAA,OAAO,EAAEd,SAAU;AACnBe,QAAAA,IAAI,EAAC,QAAQ;QACbC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQf,YAAY,CAACgB,kBAAQ,CAACC,QAAQ,CAAC;AAAA,QAAA;AAAC,OAChD,CAAC,eACFP,cAAA,CAACC,MAAM,EAAA;AACLC,QAAAA,KAAK,EAAEP,CAAC,CAAC,gCAAgC,CAAE;AAC3CQ,QAAAA,OAAO,EAAEd,SAAU;AACnBmB,QAAAA,KAAK,EAAC,MAAM;QACZH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQf,YAAY,CAACgB,kBAAQ,CAACG,QAAQ,CAAC;AAAA,QAAA;AAAC,OAChD,CAAC;AAAA,KACS,CAAC;AAElB,EAAA;AAEA,EAAA,oBACET,cAAA,CAACH,IAAI,CAACV,MAAM,EAAA;AAACW,IAAAA,SAAS,EAAC,4BAA4B;IAAAC,QAAA,eACjDC,cAAA,CAACC,MAAM,EAAA;AACLC,MAAAA,KAAK,EAAEP,CAAC,CAAC,sCAAsC,CAAE;AACjDQ,MAAAA,OAAO,EAAEd,SAAU;AACnBe,MAAAA,IAAI,EAAC,QAAQ;MACbC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQf,YAAY,CAACgB,kBAAQ,CAACI,SAAS,CAAC;AAAA,MAAA;KAChD;AAAC,GACS,CAAC;AAElB,CAAC;;ACpCDC,KAAK,CAACC,MAAM,CAACC,GAAG,CAAC;AACjBF,KAAK,CAACC,MAAM,CAACE,QAAQ,CAAC;IAETC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA3B,IAAA,EAA0C;AAAA,EAAA,IAApC4B,YAAY,GAAA5B,IAAA,CAAZ4B,YAAY;IAAEC,eAAe,GAAA7B,IAAA,CAAf6B,eAAe;AACnE,EAAA,IAAIC,mBAAS,CAACF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,QAAQ,CAAC,IAAID,mBAAS,CAACD,eAAe,CAAC,EAAE;IACnE,IAAMG,OAAO,GACXC,gBAAM,CAAC;MAAEC,EAAE,EAAEL,eAAe,CAACK;AAAG,KAAC,EAAEN,YAAY,CAACG,QAAQ,CAAC,IAAI,EAAE;AAEjE,IAAA,OAAOC,OAAO;AAChB,EAAA;AAEA,EAAA,OAAO,EAAE;AACX;AAEO,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAGC,IAAI,EAAI;EAAA,IAAAC,iBAAA,EAAAC,kBAAA;AAChC,EAAA,CAAA,CAAAD,iBAAA,GAAAE,wBAAW,CAACC,IAAI,MAAA,IAAA,IAAAH,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBI,QAAQ,KAAIlB,KAAK,CAACmB,EAAE,CAACC,UAAU,CAAA,CAAAL,kBAAA,GAACC,wBAAW,CAACC,IAAI,MAAA,IAAA,IAAAF,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBG,QAAQ,CAAC;AAE7E,EAAA,OAAOlB,KAAK,CAACa,IAAI,CAAC,CAACM,EAAE,EAAE;AACzB,CAAC;AAEM,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;EAAA,OAAU;AACtCC,IAAAA,OAAO,EAAE;AAAE/B,MAAAA,KAAK,EAAEP,SAAC,CAAC,+BAA+B,CAAC;AAAEuC,MAAAA,KAAK,EAAE;KAAW;AACxEC,IAAAA,SAAS,EAAE;AACTjC,MAAAA,KAAK,EAAEP,SAAC,CAAC,gCAAgC,EAAEyC,kBAAM,CAAC;AAClDF,MAAAA,KAAK,EAAE;KACR;AACDG,IAAAA,OAAO,EAAE;AAAEnC,MAAAA,KAAK,EAAEP,SAAC,CAAC,+BAA+B,CAAC;AAAEuC,MAAAA,KAAK,EAAE;AAAU;GACxE;AAAA;;ACpBD,IAAMI,qBAAqB,gBAAGC,UAAI,CAACC,aAAa,CAAC;AAEjD,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAArD,IAAA,EAKlB;EAAA,IAAAsD,mBAAA,EAAAC,oBAAA;AAAA,EAAA,IAJJC,MAAM,GAAAxD,IAAA,CAANwD,MAAM;IACNC,OAAO,GAAAzD,IAAA,CAAPyD,OAAO;IACP5B,eAAe,GAAA7B,IAAA,CAAf6B,eAAe;IAAA6B,cAAA,GAAA1D,IAAA,CACf2D,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;AAEjB,EAAA,IAAArD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IACEqD,KAAK,GASH/B,eAAe,CATjB+B,KAAK;IAAAC,qBAAA,GASHhC,eAAe,CARjBiC,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACXE,OAAO,GAOLlC,eAAe,CAPjBkC,OAAO;IACPC,SAAS,GAMPnC,eAAe,CANjBmC,SAAS;IACTC,YAAY,GAKVpC,eAAe,CALjBoC,YAAY;IACZC,aAAa,GAIXrC,eAAe,CAJjBqC,aAAa;IAAAC,qBAAA,GAIXtC,eAAe,CAHjBuC,IAAI;AAAEC,IAAAA,WAAW,GAAAF,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACtBG,aAAa,GAEXzC,eAAe,CAFjByC,aAAa;IACbC,cAAc,GACZ1C,eAAe,CADjB0C,cAAc;AAGhB,EAAA,IAAAC,SAAA,GAAwBC,cAAQ,CAACJ,WAAW,CAAC;IAAAK,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCJ,IAAAA,IAAI,GAAAM,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,IAAAG,iBAAA,GACEC,+BAAgB,EAAE;IADJC,oBAAoB,GAAAF,iBAAA,CAA5BG,MAAM;IAAmCC,sBAAsB,GAAAJ,iBAAA,CAAjClB,SAAS;AAG/CuB,EAAAA,eAAS,CAAC,YAAM;IACdN,OAAO,CAACP,WAAW,CAAC;AACtB,EAAA,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAMc,0BAA0B,GAC9BrB,MAAM,KAAK5C,kBAAQ,CAACI,SAAS,GAAA,EAAA,CAAA8D,MAAA,CACtBd,aAAa,QAAAc,MAAA,CAAKb,cAAc,EAAA,GAAA,CAAA,GAAA,EAAA,CAAAa,MAAA,CAChCnB,YAAY,EAAA,IAAA,CAAA,CAAAmB,MAAA,CAAKlB,aAAa,EAAA,GAAA,CAAG;EAE1C,IAAM/D,qBAAqB,GACzB,CAAA,CAAAmD,mBAAA,GAAA+B,MAAM,CAAC9C,WAAW,MAAA,IAAA,IAAAe,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAlBA,mBAAA,CAAoBd,IAAI,MAAA,IAAA,IAAAc,mBAAA,uBAAxBA,mBAAA,CAA0BgC,KAAK,MAAKpB,aAAa;EAEnD,IAAM9D,sBAAsB,GAC1B,CAAA,CAAAmD,oBAAA,GAAA8B,MAAM,CAAC9C,WAAW,MAAA,IAAA,IAAAgB,oBAAA,KAAA,MAAA,IAAA,CAAAA,oBAAA,GAAlBA,oBAAA,CAAoBf,IAAI,MAAA,IAAA,IAAAe,oBAAA,uBAAxBA,oBAAA,CAA0B+B,KAAK,MAAKf,cAAc;AAEpD,EAAA,IAAMgB,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAI5B,SAAS,EAAE;MACb,OAAOpD,CAAC,CAAC,kCAAkC,CAAC;AAC9C,IAAA;IAEA,OAAOiF,2BAAiB,CAAC1B,MAAM,CAAC;EAClC,CAAC;AAED,EAAA,IAAM2B,aAAa,GAAG,SAAhBA,aAAaA,GAAS;IAC1Bb,OAAO,CAAC,EAAE,CAAC;AACXnB,IAAAA,OAAO,EAAE;EACX,CAAC;AAED,EAAA,IAAMvD,YAAY,GAAG,SAAfA,YAAYA,CAAG4D,MAAM,EAAA;AAAA,IAAA,OACzBiB,oBAAoB,CAClB;MACE7C,EAAE,EAAEL,eAAe,CAACK,EAAE;AACtBwD,MAAAA,OAAO,EAAAC,eAAA,CAAA;AAAI7B,QAAAA,MAAM,EAANA,MAAM;AAAEM,QAAAA,IAAI,EAAJA;AAAI,OAAA,EAAA,EAAA,CAAAgB,MAAA,CAAMtB,MAAM,SAAO,IAAI8B,IAAI,EAAE;AACtD,KAAC,EACD;AAAEC,MAAAA,SAAS,EAAEJ;AAAc,KAC7B,CAAC;AAAA,EAAA,CAAA;EAEH,oBACEjF,eAAA,CAACC,IAAI,EAAA;AACG+C,IAAAA,MAAM,EAANA,MAAM;AACZ9C,IAAAA,SAAS,EAAC,eAAe;AACzBoF,IAAAA,IAAI,EAAC,OAAO;AACZrC,IAAAA,OAAO,EAAEgC,aAAc;AAAA9E,IAAAA,QAAA,EAAA,cAEvBH,eAAA,CAACC,IAAI,CAACsF,MAAM,EAAA;AAACrF,MAAAA,SAAS,EAAC,WAAW;MAAAC,QAAA,EAAA,cAChCC,cAAA,CAACoF,UAAU,EAAA;AAAC5E,QAAAA,KAAK,EAAC,IAAI;AAAAT,QAAAA,QAAA,EAAEiD;AAAK,OAAa,CAAC,eAC3ChD,cAAA,CAACqF,GAAG,EAAA;AAACnF,QAAAA,KAAK,EAAEoF,oBAAU,CAACpC,MAAM,CAAE;QAAC1C,KAAK,EAAE+E,0BAAgB,CAACrC,MAAM;AAAE,OAAE,CAAC;AAAA,KACxD,CAAC,eACdtD,eAAA,CAACC,IAAI,CAAC2F,IAAI,EAAA;AAAC1F,MAAAA,SAAS,EAAC,iCAAiC;AAAAC,MAAAA,QAAA,gBACpDH,eAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,6CAA6C;AAAAC,QAAAA,QAAA,gBAC1DH,eAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,8CAA8C;UAAAC,QAAA,EAAA,cAC3DC,cAAA,CAACyF,KAAK,EAAA;AAAC3F,YAAAA,SAAS,EAAC,aAAa;YAAAC,QAAA,EAAE4E,cAAc;AAAE,WAAQ,CAAC,eACzD3E,cAAA,CAACoF,UAAU,EAAA;AAAC5E,YAAAA,KAAK,EAAC,OAAO;AAACkF,YAAAA,MAAM,EAAC,QAAQ;AAAA3F,YAAAA,QAAA,EACtCwE;AAA0B,WACjB,CAAC;SACV,CAAC,eACN3E,eAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,8CAA8C;UAAAC,QAAA,EAAA,cAC3DC,cAAA,CAACyF,KAAK,EAAA;AAAC3F,YAAAA,SAAS,EAAC,aAAa;YAAAC,QAAA,EAC3BJ,CAAC,CAAC,+BAA+B;AAAC,WAC9B,CAAC,eACRK,cAAA,CAACoF,UAAU,EAAA;AAAC5E,YAAAA,KAAK,EAAC,OAAO;AAACkF,YAAAA,MAAM,EAAC,QAAQ;YAAA3F,QAAA,EACtC4F,gBAAU,CAACC,eAAe,CAACrE,UAAU,CAAC6B,SAAS,CAAC;AAAC,WACxC,CAAC;AAAA,SACV,CAAC;OACH,CAAC,eACNxD,eAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,kBAAkB;QAAAC,QAAA,EAAA,cAC/BC,cAAA,CAACyF,KAAK,EAAA;UAAA1F,QAAA,EAAEJ,CAAC,CAAC,sCAAsC;AAAC,SAAQ,CAAC,eAC1DK,cAAA,CAACsC,qBAAqB,EAAA;AACpBxC,UAAAA,SAAS,EAAC,2CAA2C;AACrD+F,UAAAA,OAAO,EAAE1C;AAAQ,SAClB,CAAC;OACC,CAAC,EACLJ,SAAS,IAAIxD,qBAAqB,iBACjCS,cAAA,CAAC8F,QAAQ,EAAA;AACPhG,QAAAA,SAAS,EAAC,QAAQ;QAClBiG,QAAQ,EAAE,CAAChD,SAAU;AACrB7C,QAAAA,KAAK,EAAEP,CAAC,CAAC,4BAA4B,CAAE;AACvCuC,QAAAA,KAAK,EAAEsB,IAAK;AACZwC,QAAAA,WAAW,EAAErG,CAAC,CAAC,yCAAyC,EAAE;UACxDsG,IAAI,EAAEtG,CAAC,CAAC,4BAA4B;AACtC,SAAC,CAAE;QACHuG,QAAQ,EAAEC,0BAAoB,CAACnC,OAAO;AAAE,OACzC,CACF,EACA,CAACjB,SAAS,IAAIS,IAAI,iBACjB5D,eAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,kBAAkB;QAAAC,QAAA,EAAA,cAC/BC,cAAA,CAACyF,KAAK,EAAA;UAAA1F,QAAA,EAAEJ,CAAC,CAAC,4BAA4B;SAAS,CAAC,eAChDK,cAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,0BAA0B;AAAAC,UAAAA,QAAA,EAAEyD;AAAI,SAAM,CAAC;AAAA,OACnD,CACN;AAAA,KACQ,CAAC,EACXT,SAAS,iBACR/C,cAAA,CAACb,MAAM,EAAA;AAEHG,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,MAAAA,sBAAsB,EAAtBA,sBAAsB;AAExBH,MAAAA,SAAS,EAAEgF;AAAuB,KACnC,CACF;AAAA,GACG,CAAC;AAEX;;;;;;"}
@@ -0,0 +1,224 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import { useState, useEffect, memo } from 'react';
4
+ import { Sheet, Button, Badge, Label, Typography, Textarea } from '@bigbinary/neeto-atoms';
5
+ import { isPresent, findBy, capitalize } from '@bigbinary/neeto-cist';
6
+ import { dateFormat, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/v2/utils';
7
+ import EditorContent from '@bigbinary/neeto-editor/v2/EditorContent';
8
+ import { useTranslation } from 'react-i18next';
9
+ import { u as useUpdateRequest } from './useRequestsApi-DEGfFuv5.js';
10
+ import { S as STATUSES, a as STATUS_BADGE_VARIANT, b as STATUS_TAG_STYLE, c as STATUS_UPDATED_BY } from './constants-DzID-rqV.js';
11
+ import { jsxs, jsx } from 'react/jsx-runtime';
12
+ import timezone from '@bigbinary/neeto-commons-frontend/utils/timezonePlugin';
13
+ import utc from 'dayjs/plugin/utc';
14
+ import { t } from 'i18next';
15
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
16
+ import { PLURAL } from '@bigbinary/neeto-commons-frontend/v2/constants';
17
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
18
+
19
+ var Footer = function Footer(_ref) {
20
+ var isLoading = _ref.isLoading,
21
+ handleSubmit = _ref.handleSubmit,
22
+ isCurrentUserApprover = _ref.isCurrentUserApprover,
23
+ isCurrentUserRequester = _ref.isCurrentUserRequester;
24
+ var _useTranslation = useTranslation(),
25
+ t = _useTranslation.t;
26
+ if (!isCurrentUserApprover && !isCurrentUserRequester) return null;
27
+ if (isCurrentUserApprover) {
28
+ return /*#__PURE__*/jsxs(Sheet.Footer, {
29
+ className: "flex flex-shrink-0 gap-x-2",
30
+ children: [/*#__PURE__*/jsx(Button, {
31
+ label: t("neetoApprovals.buttons.approve"),
32
+ loading: isLoading,
33
+ type: "submit",
34
+ onClick: function onClick() {
35
+ return handleSubmit(STATUSES.approved);
36
+ }
37
+ }), /*#__PURE__*/jsx(Button, {
38
+ label: t("neetoApprovals.buttons.decline"),
39
+ loading: isLoading,
40
+ variant: "ghost",
41
+ onClick: function onClick() {
42
+ return handleSubmit(STATUSES.rejected);
43
+ }
44
+ })]
45
+ });
46
+ }
47
+ return /*#__PURE__*/jsx(Sheet.Footer, {
48
+ className: "flex flex-shrink-0 gap-x-2",
49
+ children: /*#__PURE__*/jsx(Button, {
50
+ label: t("neetoApprovals.buttons.cancelRequest"),
51
+ loading: isLoading,
52
+ type: "submit",
53
+ onClick: function onClick() {
54
+ return handleSubmit(STATUSES.cancelled);
55
+ }
56
+ })
57
+ });
58
+ };
59
+
60
+ dayjs.extend(utc);
61
+ dayjs.extend(timezone);
62
+ var updateApprovalDetails = function updateApprovalDetails(_ref) {
63
+ var requestsData = _ref.requestsData,
64
+ approvalDetails = _ref.approvalDetails;
65
+ if (isPresent(requestsData === null || requestsData === void 0 ? void 0 : requestsData.requests) && isPresent(approvalDetails)) {
66
+ return findBy({
67
+ id: approvalDetails.id
68
+ }, requestsData.requests) || {};
69
+ }
70
+ return {};
71
+ };
72
+ var timeInZone = function timeInZone(time) {
73
+ var _globalProps$user, _globalProps$user2;
74
+ ((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.timeZone) && dayjs.tz.setDefault((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.timeZone);
75
+ return dayjs(time).tz();
76
+ };
77
+ var getApprovalFilter = function getApprovalFilter() {
78
+ return {
79
+ PENDING: {
80
+ label: t("neetoApprovals.common.pending"),
81
+ value: "PENDING"
82
+ },
83
+ TEMPLATES: {
84
+ label: t("neetoApprovals.common.template", PLURAL),
85
+ value: "TEMPLATES"
86
+ },
87
+ HISTORY: {
88
+ label: t("neetoApprovals.common.history"),
89
+ value: "HISTORY"
90
+ }
91
+ };
92
+ };
93
+
94
+ var MemoizedEditorContent = /*#__PURE__*/memo(EditorContent);
95
+ var RequestDetailsPane = function RequestDetailsPane(_ref) {
96
+ var _window$globalProps, _window$globalProps2;
97
+ var isOpen = _ref.isOpen,
98
+ onClose = _ref.onClose,
99
+ approvalDetails = _ref.approvalDetails,
100
+ _ref$isPending = _ref.isPending,
101
+ isPending = _ref$isPending === void 0 ? false : _ref$isPending;
102
+ var _useTranslation = useTranslation(),
103
+ t = _useTranslation.t;
104
+ var title = approvalDetails.title,
105
+ _approvalDetails$stat = approvalDetails.status,
106
+ status = _approvalDetails$stat === void 0 ? "" : _approvalDetails$stat,
107
+ message = approvalDetails.message,
108
+ createdAt = approvalDetails.createdAt,
109
+ approverName = approvalDetails.approverName,
110
+ approverEmail = approvalDetails.approverEmail,
111
+ _approvalDetails$note = approvalDetails.note,
112
+ initialNote = _approvalDetails$note === void 0 ? "" : _approvalDetails$note,
113
+ requesterName = approvalDetails.requesterName,
114
+ requesterEmail = approvalDetails.requesterEmail;
115
+ var _useState = useState(initialNote),
116
+ _useState2 = _slicedToArray(_useState, 2),
117
+ note = _useState2[0],
118
+ setNote = _useState2[1];
119
+ var _useUpdateRequest = useUpdateRequest(),
120
+ updatePendingRequest = _useUpdateRequest.mutate,
121
+ isUpdateRequestPending = _useUpdateRequest.isPending;
122
+ useEffect(function () {
123
+ setNote(initialNote);
124
+ }, [initialNote]);
125
+ var requesterOrApproverDetails = status === STATUSES.cancelled ? "".concat(requesterName, " (").concat(requesterEmail, ")") : "".concat(approverName, " (").concat(approverEmail, ")");
126
+ var isCurrentUserApprover = ((_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 || (_window$globalProps = _window$globalProps.user) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.email) === approverEmail;
127
+ var isCurrentUserRequester = ((_window$globalProps2 = window.globalProps) === null || _window$globalProps2 === void 0 || (_window$globalProps2 = _window$globalProps2.user) === null || _window$globalProps2 === void 0 ? void 0 : _window$globalProps2.email) === requesterEmail;
128
+ var getStatusLabel = function getStatusLabel() {
129
+ if (isPending) {
130
+ return t("neetoApprovals.common.waitingFor");
131
+ }
132
+ return STATUS_UPDATED_BY[status];
133
+ };
134
+ var handleOnClose = function handleOnClose() {
135
+ setNote("");
136
+ onClose();
137
+ };
138
+ var handleSubmit = function handleSubmit(status) {
139
+ return updatePendingRequest({
140
+ id: approvalDetails.id,
141
+ payload: _defineProperty({
142
+ status: status,
143
+ note: note
144
+ }, "".concat(status, "At"), new Date())
145
+ }, {
146
+ onSuccess: handleOnClose
147
+ });
148
+ };
149
+ return /*#__PURE__*/jsxs(Sheet, {
150
+ isOpen: isOpen,
151
+ className: "flex flex-col",
152
+ size: "large",
153
+ onClose: handleOnClose,
154
+ children: [/*#__PURE__*/jsxs(Sheet.Header, {
155
+ className: "space-y-2",
156
+ children: [/*#__PURE__*/jsx(Sheet.Title, {
157
+ children: title
158
+ }), /*#__PURE__*/jsx(Badge, {
159
+ variant: STATUS_BADGE_VARIANT[STATUS_TAG_STYLE[status]],
160
+ children: capitalize(status)
161
+ })]
162
+ }), /*#__PURE__*/jsxs(Sheet.Body, {
163
+ className: "h-auto flex-grow space-y-6 pb-6",
164
+ hasFooter: isPending,
165
+ children: [/*#__PURE__*/jsxs("div", {
166
+ className: "w-full divide-y rounded border p-2",
167
+ children: [/*#__PURE__*/jsxs("div", {
168
+ className: "flex flex-col gap-2 p-2 lg:flex-row lg:gap-3",
169
+ children: [/*#__PURE__*/jsx(Label, {
170
+ className: "font-normal",
171
+ children: getStatusLabel()
172
+ }), /*#__PURE__*/jsx(Typography, {
173
+ variant: "body2",
174
+ weight: "medium",
175
+ children: requesterOrApproverDetails
176
+ })]
177
+ }), /*#__PURE__*/jsxs("div", {
178
+ className: "flex flex-col gap-2 p-2 lg:flex-row lg:gap-3",
179
+ children: [/*#__PURE__*/jsx(Label, {
180
+ className: "font-normal",
181
+ children: t("neetoApprovals.common.created")
182
+ }), /*#__PURE__*/jsx(Typography, {
183
+ variant: "body2",
184
+ weight: "medium",
185
+ children: dateFormat.defaultWithTime(timeInZone(createdAt))
186
+ })]
187
+ })]
188
+ }), /*#__PURE__*/jsxs("div", {
189
+ className: "w-full space-y-2",
190
+ children: [/*#__PURE__*/jsx(Label, {
191
+ children: t("neetoApprovals.inputs.labels.message")
192
+ }), /*#__PURE__*/jsx(MemoizedEditorContent, {
193
+ className: "rounded bg-muted p-4",
194
+ content: message
195
+ })]
196
+ }), isPending && isCurrentUserApprover && /*#__PURE__*/jsx(Textarea, {
197
+ className: "w-full",
198
+ disabled: !isPending,
199
+ label: t("neetoApprovals.common.note"),
200
+ value: note,
201
+ placeholder: t("neetoApprovals.inputs.placeholders.add_", {
202
+ what: t("neetoApprovals.common.note")
203
+ }),
204
+ onChange: withEventTargetValue(setNote)
205
+ }), !isPending && note && /*#__PURE__*/jsxs("div", {
206
+ className: "w-full space-y-2",
207
+ children: [/*#__PURE__*/jsx(Label, {
208
+ children: t("neetoApprovals.common.note")
209
+ }), /*#__PURE__*/jsx("div", {
210
+ className: "bg-muted p-4",
211
+ children: note
212
+ })]
213
+ })]
214
+ }), isPending && /*#__PURE__*/jsx(Footer, {
215
+ handleSubmit: handleSubmit,
216
+ isCurrentUserApprover: isCurrentUserApprover,
217
+ isCurrentUserRequester: isCurrentUserRequester,
218
+ isLoading: isUpdateRequestPending
219
+ })]
220
+ });
221
+ };
222
+
223
+ export { RequestDetailsPane as R, getApprovalFilter as g, updateApprovalDetails as u };
224
+ //# sourceMappingURL=index-DumSd5fj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DumSd5fj.js","sources":["../app/javascript/src/v2/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/v2/components/Approvals/utils.js","../app/javascript/src/v2/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Sheet.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n variant=\"ghost\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Sheet.Footer>\n );\n }\n\n return (\n <Sheet.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Sheet.Footer>\n );\n};\n\nexport default Footer;\n","import timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n return findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport {\n Badge,\n Label,\n Sheet,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/v2/utils\";\nimport EditorContent from \"neetoeditor/v2/EditorContent\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport {\n STATUSES,\n STATUS_BADGE_VARIANT,\n STATUS_TAG_STYLE,\n STATUS_UPDATED_BY,\n} from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Sheet\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Sheet.Header className=\"space-y-2\">\n <Sheet.Title>{title}</Sheet.Title>\n <Badge variant={STATUS_BADGE_VARIANT[STATUS_TAG_STYLE[status]]}>\n {capitalize(status)}\n </Badge>\n </Sheet.Header>\n <Sheet.Body\n className=\"h-auto flex-grow space-y-6 pb-6\"\n hasFooter={isPending}\n >\n <div className=\"w-full divide-y rounded border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography variant=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography variant=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"rounded bg-muted p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"bg-muted p-4\">{note}</div>\n </div>\n )}\n </Sheet.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Sheet>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Sheet","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","variant","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Title","Badge","STATUS_BADGE_VARIANT","STATUS_TAG_STYLE","capitalize","Body","hasFooter","Label","Typography","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":"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"}
@@ -10,11 +10,9 @@ import Tag from '@bigbinary/neetoui/Tag';
10
10
  import Textarea from '@bigbinary/neetoui/Textarea';
11
11
  import Typography from '@bigbinary/neetoui/Typography';
12
12
  import { useTranslation } from 'react-i18next';
13
- import { useQuery, keepPreviousData } from '@tanstack/react-query';
14
- import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
15
- import axios from 'axios';
16
- import { B as BASE_URL, Q as QUERY_KEYS, S as STATUSES, a as STATUS_TAG_STYLE, b as STATUS_UPDATED_BY } from './constants-B5EiwxHH.js';
13
+ import { u as useUpdateRequest } from './useRequestsApi-DEGfFuv5.js';
17
14
  import Button from '@bigbinary/neetoui/Button';
15
+ import { S as STATUSES, a as STATUS_TAG_STYLE, b as STATUS_UPDATED_BY } from './constants-qLYJlKc6.js';
18
16
  import { jsxs, jsx } from 'react/jsx-runtime';
19
17
  import dayjs from 'dayjs';
20
18
  import timezone from '@bigbinary/neeto-commons-frontend/utils/timezonePlugin';
@@ -23,48 +21,6 @@ import { t } from 'i18next';
23
21
  import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
24
22
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
25
23
 
26
- var fetch = function fetch(params, url) {
27
- return axios.get(url, {
28
- params: params
29
- });
30
- };
31
- var update = function update(_ref) {
32
- var id = _ref.id,
33
- payload = _ref.payload;
34
- return axios.put("".concat(BASE_URL, "/requests/").concat(id), {
35
- request: payload
36
- });
37
- };
38
- var requestsApi = {
39
- fetch: fetch,
40
- update: update
41
- };
42
-
43
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
44
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
- var useFetchRequests = function useFetchRequests(_ref) {
46
- var requestUrl = _ref.requestUrl,
47
- _ref$params = _ref.params,
48
- params = _ref$params === void 0 ? {} : _ref$params,
49
- _ref$options = _ref.options,
50
- options = _ref$options === void 0 ? {} : _ref$options;
51
- return useQuery(_objectSpread({
52
- queryKey: [QUERY_KEYS.REQUESTS, params],
53
- queryFn: function queryFn() {
54
- return requestsApi.fetch(params, requestUrl);
55
- },
56
- select: function select(response) {
57
- return response.data || response;
58
- },
59
- placeholderData: keepPreviousData
60
- }, options));
61
- };
62
- var useUpdateRequest = function useUpdateRequest(options) {
63
- return useMutationWithInvalidation(requestsApi.update, _objectSpread({
64
- keysToInvalidate: [[QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
65
- }, options));
66
- };
67
-
68
24
  var Footer = function Footer(_ref) {
69
25
  var isLoading = _ref.isLoading,
70
26
  handleSubmit = _ref.handleSubmit,
@@ -270,5 +226,5 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
270
226
  });
271
227
  };
272
228
 
273
- export { RequestDetailsPane as R, updateApprovalDetails as a, getApprovalFilter as g, useFetchRequests as u };
274
- //# sourceMappingURL=index-BBsNL9uK.js.map
229
+ export { RequestDetailsPane as R, getApprovalFilter as g, updateApprovalDetails as u };
230
+ //# sourceMappingURL=index-t8u9Sjvr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-t8u9Sjvr.js","sources":["../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"h-auto flex-grow space-y-6 pb-6\">\n <div className=\"neeto-ui-rounded w-full divide-y border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Pane","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","style","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","request","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Typography","Tag","capitalize","STATUS_TAG_STYLE","Body","Label","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,35 +1,38 @@
1
1
  export { default as Approvals } from './Approvals.js';
2
2
  export { default as Form } from './Form.js';
3
3
  export { default as Public } from './Public.js';
4
- export { R as RequestDetailsPane } from './index-BBsNL9uK.js';
4
+ export { R as RequestDetailsPane } from './index-t8u9Sjvr.js';
5
5
  import '@babel/runtime/helpers/defineProperty';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import 'react';
8
8
  import '@bigbinary/neeto-commons-frontend/react-utils';
9
9
  import '@bigbinary/neeto-molecules/Container';
10
10
  import 'react-router-dom';
11
- import 'i18next';
11
+ import './useViewsApi-k6u7op_J.js';
12
+ import 'ramda';
12
13
  import '@bigbinary/neeto-commons-frontend/constants';
14
+ import '@tanstack/react-query';
15
+ import 'axios';
16
+ import './queryConstants-Vrcjv9lF.js';
17
+ import 'i18next';
13
18
  import '@bigbinary/neetoui/Button';
14
19
  import '@bigbinary/neeto-cist';
15
20
  import '@bigbinary/neeto-molecules/TableWrapper';
16
21
  import '@bigbinary/neetoui/Table';
17
22
  import '@bigbinary/neetoui/NoData';
18
- import 'ramda';
19
23
  import 'react-i18next';
24
+ import './useRequestsApi-DEGfFuv5.js';
20
25
  import '@bigbinary/neeto-molecules/DateFormat';
21
26
  import '@bigbinary/neetoui/Tag';
22
- import './constants-B5EiwxHH.js';
27
+ import './constants-qLYJlKc6.js';
23
28
  import '@bigbinary/neeto-editor/utils';
24
29
  import 'yup';
25
30
  import 'react/jsx-runtime';
26
31
  import '@babel/runtime/helpers/objectWithoutProperties';
27
32
  import '@bigbinary/neeto-molecules/PageLoader';
28
33
  import '@bigbinary/neetoui/Alert';
29
- import './useTemplatesApi-CwlWKJYa.js';
30
- import '@tanstack/react-query';
34
+ import './useTemplatesApi-BII_qvcl.js';
31
35
  import '@bigbinary/neeto-commons-frontend/utils';
32
- import 'axios';
33
36
  import '@bigbinary/neetoui/Pane';
34
37
  import '@bigbinary/neetoui/Typography';
35
38
  import '@bigbinary/neetoui/formik/ActionBlock';
@@ -46,9 +49,11 @@ import '@bigbinary/neeto-molecules/Header';
46
49
  import '@bigbinary/neetoui/Tab';
47
50
  import '@bigbinary/neeto-commons-frontend/initializers';
48
51
  import '@bigbinary/neetoui/Select';
52
+ import './useApproversApi-B7ChYonT.js';
49
53
  import '@bigbinary/neeto-molecules/CardLayout';
50
54
  import '@bigbinary/neetoui/Callout';
51
55
  import '@bigbinary/neetoui/Textarea';
56
+ import './useApprovalRequest-D_WJmB5t.js';
52
57
  import 'dayjs';
53
58
  import '@bigbinary/neeto-commons-frontend/utils/timezonePlugin';
54
59
  import 'dayjs/plugin/utc';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var BASE_URL = "neeto_approvals";
4
+ var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
5
+
6
+ var QUERY_KEYS = {
7
+ APPROVERS: "neeto-approvals-approvers",
8
+ TEMPLATES: "neeto-approvals-templates",
9
+ REQUESTS: "neeto-approvals-requests",
10
+ SHOW_TEMPLATE: "neeto-approvals-show-template",
11
+ SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
12
+ VIEWS: "neeto-approvals-views"
13
+ };
14
+
15
+ exports.BASE_URL = BASE_URL;
16
+ exports.QUERY_KEYS = QUERY_KEYS;
17
+ exports.TEMPLATE_URL = TEMPLATE_URL;
18
+ //# sourceMappingURL=queryConstants-DjYiOKxE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryConstants-DjYiOKxE.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/common/queryConstants.js"],"sourcesContent":["export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n"],"names":["BASE_URL","TEMPLATE_URL","concat","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS"],"mappings":";;AAMO,IAAMA,QAAQ,GAAG;IACXC,YAAY,GAAA,EAAA,CAAAC,MAAA,CAAMF,QAAQ,EAAA,YAAA;;ACPhC,IAAMG,UAAU,GAAG;AACxBC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EAAE,qCAAqC;AAC1DC,EAAAA,KAAK,EAAE;AACT;;;;;;"}
@@ -0,0 +1,14 @@
1
+ var BASE_URL = "neeto_approvals";
2
+ var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
3
+
4
+ var QUERY_KEYS = {
5
+ APPROVERS: "neeto-approvals-approvers",
6
+ TEMPLATES: "neeto-approvals-templates",
7
+ REQUESTS: "neeto-approvals-requests",
8
+ SHOW_TEMPLATE: "neeto-approvals-show-template",
9
+ SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
10
+ VIEWS: "neeto-approvals-views"
11
+ };
12
+
13
+ export { BASE_URL as B, QUERY_KEYS as Q, TEMPLATE_URL as T };
14
+ //# sourceMappingURL=queryConstants-Vrcjv9lF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryConstants-Vrcjv9lF.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/common/queryConstants.js"],"sourcesContent":["export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n"],"names":["BASE_URL","TEMPLATE_URL","concat","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS"],"mappings":"AAMO,IAAMA,QAAQ,GAAG;IACXC,YAAY,GAAA,EAAA,CAAAC,MAAA,CAAMF,QAAQ,EAAA,YAAA;;ACPhC,IAAMG,UAAU,GAAG;AACxBC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EAAE,qCAAqC;AAC1DC,EAAAA,KAAK,EAAE;AACT;;;;"}