@bigbinary/neeto-approvals-frontend 0.3.11 → 0.4.0-beta2
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.
- package/README.md +3 -3
- package/dist/index.cjs.js +694 -626
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +689 -623
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
package/dist/index.cjs.js
CHANGED
|
@@ -9,19 +9,21 @@ var reactRouterDom = require('react-router-dom');
|
|
|
9
9
|
var i18next = require('i18next');
|
|
10
10
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
11
11
|
var Button = require('@bigbinary/neetoui/Button');
|
|
12
|
-
var ramda = require('ramda');
|
|
13
12
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
14
13
|
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
15
14
|
var Table$1 = require('@bigbinary/neetoui/Table');
|
|
16
15
|
var NoData = require('@bigbinary/neetoui/NoData');
|
|
16
|
+
var ramda = require('ramda');
|
|
17
17
|
var reactI18next = require('react-i18next');
|
|
18
|
-
var reactQuery = require('react-query');
|
|
18
|
+
var reactQuery = require('@tanstack/react-query');
|
|
19
19
|
var axios = require('axios');
|
|
20
20
|
var Tag = require('@bigbinary/neetoui/Tag');
|
|
21
21
|
var DateFormat = require('@bigbinary/neeto-molecules/DateFormat');
|
|
22
|
-
var
|
|
22
|
+
var utils = require('@bigbinary/neeto-editor/utils');
|
|
23
23
|
var yup = require('yup');
|
|
24
|
-
var
|
|
24
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
25
|
+
var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
26
|
+
var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
|
|
25
27
|
var Label = require('@bigbinary/neetoui/Label');
|
|
26
28
|
var Pane = require('@bigbinary/neetoui/Pane');
|
|
27
29
|
var Textarea = require('@bigbinary/neetoui/Textarea');
|
|
@@ -38,6 +40,7 @@ var formik = require('formik');
|
|
|
38
40
|
var ToggleFeatureCard = require('@bigbinary/neeto-molecules/ToggleFeatureCard');
|
|
39
41
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
40
42
|
var Textarea$1 = require('@bigbinary/neetoui/formik/Textarea');
|
|
43
|
+
var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
|
|
41
44
|
var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
|
|
42
45
|
var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
|
|
43
46
|
var NeetoUITab = require('@bigbinary/neetoui/Tab');
|
|
@@ -75,6 +78,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
75
78
|
var Tag__default = /*#__PURE__*/_interopDefaultLegacy(Tag);
|
|
76
79
|
var DateFormat__default = /*#__PURE__*/_interopDefaultLegacy(DateFormat);
|
|
77
80
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
81
|
+
var EditorContent__default = /*#__PURE__*/_interopDefaultLegacy(EditorContent);
|
|
78
82
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
|
79
83
|
var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
|
|
80
84
|
var Textarea__default = /*#__PURE__*/_interopDefaultLegacy(Textarea);
|
|
@@ -89,6 +93,7 @@ var FormikForm__default = /*#__PURE__*/_interopDefaultLegacy(FormikForm);
|
|
|
89
93
|
var ToggleFeatureCard__default = /*#__PURE__*/_interopDefaultLegacy(ToggleFeatureCard);
|
|
90
94
|
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
91
95
|
var Textarea__default$1 = /*#__PURE__*/_interopDefaultLegacy(Textarea$1);
|
|
96
|
+
var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
|
|
92
97
|
var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
|
|
93
98
|
var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
|
|
94
99
|
var NeetoUITab__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUITab);
|
|
@@ -247,23 +252,20 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
247
252
|
params = _ref$params === void 0 ? {} : _ref$params,
|
|
248
253
|
_ref$options = _ref.options,
|
|
249
254
|
options = _ref$options === void 0 ? {} : _ref$options;
|
|
250
|
-
return reactQuery.useQuery(
|
|
251
|
-
|
|
252
|
-
|
|
255
|
+
return reactQuery.useQuery(_objectSpread$b({
|
|
256
|
+
queryKey: [QUERY_KEYS.REQUESTS, params],
|
|
257
|
+
queryFn: function queryFn() {
|
|
258
|
+
return requestsApi.fetch(params, requestUrl);
|
|
259
|
+
},
|
|
253
260
|
select: function select(response) {
|
|
254
261
|
return response.data || response;
|
|
255
262
|
},
|
|
256
|
-
|
|
257
|
-
onSuccess: function onSuccess(_ref2) {
|
|
258
|
-
var _options$onSuccess;
|
|
259
|
-
var requests = _ref2.requests;
|
|
260
|
-
return (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(options, requests);
|
|
261
|
-
}
|
|
263
|
+
placeholderData: reactQuery.keepPreviousData
|
|
262
264
|
}, options));
|
|
263
265
|
};
|
|
264
266
|
var useUpdateRequest = function useUpdateRequest(options) {
|
|
265
267
|
return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread$b({
|
|
266
|
-
keysToInvalidate: [QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
268
|
+
keysToInvalidate: [[QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
267
269
|
}, options));
|
|
268
270
|
};
|
|
269
271
|
|
|
@@ -330,10 +332,13 @@ var REQUEST_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
|
330
332
|
message: yup__namespace.string().test("message", i18next.t("neetoApprovals.validations.required", {
|
|
331
333
|
what: i18next.t("neetoApprovals.inputs.labels.message")
|
|
332
334
|
}), function (content) {
|
|
333
|
-
return !
|
|
335
|
+
return !utils.isEditorEmpty(content);
|
|
334
336
|
}),
|
|
335
337
|
approver: yup__namespace.object().required(i18next.t("neetoApprovals.validations.approver"))
|
|
336
338
|
});
|
|
339
|
+
var EVENTS = {
|
|
340
|
+
APPROVAL_TEMPLATE_CREATED: "approval_template_created"
|
|
341
|
+
};
|
|
337
342
|
|
|
338
343
|
var HISTORY_TABLE_COLUMNS = [{
|
|
339
344
|
dataIndex: "approvalLabel",
|
|
@@ -344,7 +349,7 @@ var HISTORY_TABLE_COLUMNS = [{
|
|
|
344
349
|
render: function render(approvalLabel, _ref) {
|
|
345
350
|
var requestableUrl = _ref.requestableUrl;
|
|
346
351
|
var url = new URL(requestableUrl || window.location.origin);
|
|
347
|
-
return /*#__PURE__*/
|
|
352
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
348
353
|
label: approvalLabel,
|
|
349
354
|
style: "link",
|
|
350
355
|
to: url.pathname
|
|
@@ -363,7 +368,7 @@ var HISTORY_TABLE_COLUMNS = [{
|
|
|
363
368
|
width: "25%",
|
|
364
369
|
title: i18next.t("neetoApprovals.common.status"),
|
|
365
370
|
render: function render(status) {
|
|
366
|
-
return /*#__PURE__*/
|
|
371
|
+
return /*#__PURE__*/jsxRuntime.jsx(Tag__default["default"], {
|
|
367
372
|
label: neetoCist.capitalize(status),
|
|
368
373
|
style: STATUS_TAG_STYLE[status]
|
|
369
374
|
});
|
|
@@ -375,7 +380,7 @@ var HISTORY_TABLE_COLUMNS = [{
|
|
|
375
380
|
width: "25%",
|
|
376
381
|
title: i18next.t("neetoApprovals.common.created"),
|
|
377
382
|
render: function render(createdAt) {
|
|
378
|
-
return /*#__PURE__*/
|
|
383
|
+
return /*#__PURE__*/jsxRuntime.jsx(DateFormat__default["default"].FromNow, {
|
|
379
384
|
date: createdAt,
|
|
380
385
|
typographyProps: {
|
|
381
386
|
style: "body2"
|
|
@@ -393,34 +398,36 @@ var Footer = function Footer(_ref) {
|
|
|
393
398
|
t = _useTranslation.t;
|
|
394
399
|
if (!isCurrentUserApprover && !isCurrentUserRequester) return null;
|
|
395
400
|
if (isCurrentUserApprover) {
|
|
396
|
-
return /*#__PURE__*/
|
|
397
|
-
className: "flex gap-x-2"
|
|
398
|
-
|
|
399
|
-
|
|
401
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"].Footer, {
|
|
402
|
+
className: "flex gap-x-2",
|
|
403
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
404
|
+
label: t("neetoApprovals.buttons.approve"),
|
|
405
|
+
loading: isLoading,
|
|
406
|
+
type: "submit",
|
|
407
|
+
onClick: function onClick() {
|
|
408
|
+
return handleSubmit(STATUSES.approved);
|
|
409
|
+
}
|
|
410
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
411
|
+
label: t("neetoApprovals.buttons.decline"),
|
|
412
|
+
loading: isLoading,
|
|
413
|
+
style: "text",
|
|
414
|
+
onClick: function onClick() {
|
|
415
|
+
return handleSubmit(STATUSES.rejected);
|
|
416
|
+
}
|
|
417
|
+
})]
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
return /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Footer, {
|
|
421
|
+
className: "flex gap-x-2",
|
|
422
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
423
|
+
label: t("neetoApprovals.buttons.cancelRequest"),
|
|
400
424
|
loading: isLoading,
|
|
401
425
|
type: "submit",
|
|
402
426
|
onClick: function onClick() {
|
|
403
|
-
return handleSubmit(STATUSES.
|
|
427
|
+
return handleSubmit(STATUSES.cancelled);
|
|
404
428
|
}
|
|
405
|
-
})
|
|
406
|
-
|
|
407
|
-
loading: isLoading,
|
|
408
|
-
style: "text",
|
|
409
|
-
onClick: function onClick() {
|
|
410
|
-
return handleSubmit(STATUSES.rejected);
|
|
411
|
-
}
|
|
412
|
-
}));
|
|
413
|
-
}
|
|
414
|
-
return /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Footer, {
|
|
415
|
-
className: "flex gap-x-2"
|
|
416
|
-
}, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
417
|
-
label: t("neetoApprovals.buttons.cancelRequest"),
|
|
418
|
-
loading: isLoading,
|
|
419
|
-
type: "submit",
|
|
420
|
-
onClick: function onClick() {
|
|
421
|
-
return handleSubmit(STATUSES.cancelled);
|
|
422
|
-
}
|
|
423
|
-
}));
|
|
429
|
+
})
|
|
430
|
+
});
|
|
424
431
|
};
|
|
425
432
|
|
|
426
433
|
dayjs__default["default"].extend(utc__default["default"]);
|
|
@@ -458,7 +465,7 @@ var getApprovalFilter = function getApprovalFilter() {
|
|
|
458
465
|
};
|
|
459
466
|
};
|
|
460
467
|
|
|
461
|
-
var MemoizedEditorContent$1 = /*#__PURE__*/React__default["default"].memo(
|
|
468
|
+
var MemoizedEditorContent$1 = /*#__PURE__*/React__default["default"].memo(EditorContent__default["default"]);
|
|
462
469
|
var RequestDetailsPane = function RequestDetailsPane(_ref) {
|
|
463
470
|
var _window$globalProps, _window$globalProps2;
|
|
464
471
|
var isOpen = _ref.isOpen,
|
|
@@ -485,7 +492,7 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
|
|
|
485
492
|
setNote = _useState2[1];
|
|
486
493
|
var _useUpdateRequest = useUpdateRequest(),
|
|
487
494
|
updatePendingRequest = _useUpdateRequest.mutate,
|
|
488
|
-
|
|
495
|
+
isUpdateRequestPending = _useUpdateRequest.isPending;
|
|
489
496
|
React.useEffect(function () {
|
|
490
497
|
setNote(initialNote);
|
|
491
498
|
}, [initialNote]);
|
|
@@ -513,65 +520,82 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
|
|
|
513
520
|
onSuccess: handleOnClose
|
|
514
521
|
});
|
|
515
522
|
};
|
|
516
|
-
return /*#__PURE__*/
|
|
523
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
|
|
517
524
|
isOpen: isOpen,
|
|
518
525
|
size: "large",
|
|
519
|
-
onClose: handleOnClose
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
526
|
+
onClose: handleOnClose,
|
|
527
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"].Header, {
|
|
528
|
+
className: "space-y-2",
|
|
529
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
530
|
+
style: "h2",
|
|
531
|
+
children: title
|
|
532
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Tag__default["default"], {
|
|
533
|
+
label: neetoCist.capitalize(status),
|
|
534
|
+
style: STATUS_TAG_STYLE[status]
|
|
535
|
+
})]
|
|
536
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"].Body, {
|
|
537
|
+
className: "space-y-6",
|
|
538
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
539
|
+
className: "w-full divide-y border px-3",
|
|
540
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
541
|
+
className: "flex space-x-3 p-2",
|
|
542
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
543
|
+
className: "font-normal",
|
|
544
|
+
children: getStatusLabel()
|
|
545
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
546
|
+
style: "body2",
|
|
547
|
+
weight: "medium",
|
|
548
|
+
children: requesterOrApproverDetails
|
|
549
|
+
})]
|
|
550
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
551
|
+
className: "flex space-x-3 p-2",
|
|
552
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
553
|
+
className: "font-normal",
|
|
554
|
+
children: t("neetoApprovals.common.created")
|
|
555
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
556
|
+
style: "body2",
|
|
557
|
+
weight: "medium",
|
|
558
|
+
children: utils$1.dateFormat.defaultWithTime(timeInZone(createdAt))
|
|
559
|
+
})]
|
|
560
|
+
})]
|
|
561
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
562
|
+
className: "w-full space-y-2",
|
|
563
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
564
|
+
children: t("neetoApprovals.inputs.labels.message")
|
|
565
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent$1, {
|
|
566
|
+
className: "neeto-ui-bg-gray-100 p-4",
|
|
567
|
+
content: message
|
|
568
|
+
})]
|
|
569
|
+
}), isPending && isCurrentUserApprover && /*#__PURE__*/jsxRuntime.jsx(Textarea__default["default"], {
|
|
570
|
+
className: "w-full",
|
|
571
|
+
disabled: !isPending,
|
|
572
|
+
label: t("neetoApprovals.common.note"),
|
|
573
|
+
value: note,
|
|
574
|
+
placeholder: t("neetoApprovals.inputs.placeholders.add_", {
|
|
575
|
+
what: t("neetoApprovals.common.note")
|
|
576
|
+
}),
|
|
577
|
+
onChange: utils$1.withEventTargetValue(setNote)
|
|
578
|
+
}), !isPending && note && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
579
|
+
className: "w-full space-y-2",
|
|
580
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
581
|
+
children: t("neetoApprovals.common.note")
|
|
582
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
583
|
+
className: "neeto-ui-bg-gray-100 p-4",
|
|
584
|
+
children: note
|
|
585
|
+
})]
|
|
586
|
+
})]
|
|
587
|
+
}), isPending && /*#__PURE__*/jsxRuntime.jsx(Footer, {
|
|
588
|
+
handleSubmit: handleSubmit,
|
|
589
|
+
isCurrentUserApprover: isCurrentUserApprover,
|
|
590
|
+
isCurrentUserRequester: isCurrentUserRequester,
|
|
591
|
+
isLoading: isUpdateRequestPending
|
|
592
|
+
})]
|
|
593
|
+
});
|
|
569
594
|
};
|
|
570
595
|
|
|
571
596
|
function ownKeys$a(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; }
|
|
572
597
|
function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
573
598
|
var History = function History(_ref) {
|
|
574
|
-
var _t;
|
|
575
599
|
var requestUrl = _ref.requestUrl;
|
|
576
600
|
var _useState = React.useState(DEFAULT_FILTER_VALUES),
|
|
577
601
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -592,64 +616,66 @@ var History = function History(_ref) {
|
|
|
592
616
|
searchTerm: debouncedSearchTerm.trim(),
|
|
593
617
|
status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
|
|
594
618
|
}),
|
|
595
|
-
options: {
|
|
596
|
-
onSuccess: function onSuccess(_ref2) {
|
|
597
|
-
var requests = _ref2.requests;
|
|
598
|
-
handleEmptyPage(requests, pageProperties, handlePageChange);
|
|
599
|
-
setApprovalDetails(function (approvalDetails) {
|
|
600
|
-
return updateApprovalDetails({
|
|
601
|
-
requestsData: requests,
|
|
602
|
-
approvalDetails: approvalDetails
|
|
603
|
-
});
|
|
604
|
-
});
|
|
605
|
-
}
|
|
606
|
-
},
|
|
607
619
|
requestUrl: requestUrl
|
|
608
620
|
}),
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
approvalHistories =
|
|
613
|
-
|
|
614
|
-
totalCount =
|
|
621
|
+
data = _useFetchRequests.data;
|
|
622
|
+
var _ref2 = data || {},
|
|
623
|
+
_ref2$requests = _ref2.requests,
|
|
624
|
+
approvalHistories = _ref2$requests === void 0 ? {} : _ref2$requests,
|
|
625
|
+
_ref2$totalCount = _ref2.totalCount,
|
|
626
|
+
totalCount = _ref2$totalCount === void 0 ? 0 : _ref2$totalCount;
|
|
627
|
+
React.useEffect(function () {
|
|
628
|
+
if (!data) return;
|
|
629
|
+
handleEmptyPage(data === null || data === void 0 ? void 0 : data.requests, pageProperties, handlePageChange);
|
|
630
|
+
setApprovalDetails(function (approvalDetails) {
|
|
631
|
+
return updateApprovalDetails({
|
|
632
|
+
requestsData: data === null || data === void 0 ? void 0 : data.requests,
|
|
633
|
+
approvalDetails: approvalDetails
|
|
634
|
+
});
|
|
635
|
+
});
|
|
636
|
+
}, [data]);
|
|
615
637
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
616
638
|
setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
|
|
617
639
|
sortBy: neetoCist.camelToSnakeCase(sorter.field || ""),
|
|
618
640
|
orderBy: SORT_ORDER[sorter.order]
|
|
619
641
|
}));
|
|
620
642
|
};
|
|
621
|
-
return /*#__PURE__*/
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
643
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
644
|
+
children: [!ramda.isEmpty(approvalHistories) ? /*#__PURE__*/jsxRuntime.jsx(TableWrapper__default["default"], {
|
|
645
|
+
className: "mt-6",
|
|
646
|
+
hasPagination: totalCount > pageProperties.pageSize,
|
|
647
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Table__default["default"], {
|
|
648
|
+
handlePageChange: handlePageChange,
|
|
649
|
+
totalCount: totalCount,
|
|
650
|
+
allowRowClick: true,
|
|
651
|
+
fixedHeight: true,
|
|
652
|
+
columnData: HISTORY_TABLE_COLUMNS,
|
|
653
|
+
currentPageNumber: pageProperties.page,
|
|
654
|
+
defaultPageSize: pageProperties.pageSize,
|
|
655
|
+
rowData: approvalHistories,
|
|
656
|
+
paginationProps: {
|
|
657
|
+
hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
658
|
+
},
|
|
659
|
+
onChange: handleTableChange,
|
|
660
|
+
onRowClick: function onRowClick(_, approvalDetails) {
|
|
661
|
+
return setApprovalDetails(approvalDetails);
|
|
662
|
+
}
|
|
663
|
+
})
|
|
664
|
+
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
665
|
+
className: "flex h-full w-full flex-grow items-center justify-center",
|
|
666
|
+
children: /*#__PURE__*/jsxRuntime.jsx(NoData__default["default"], {
|
|
667
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
668
|
+
what: t("neetoApprovals.common.record", constants.PLURAL)
|
|
669
|
+
})
|
|
670
|
+
})
|
|
671
|
+
}), /*#__PURE__*/jsxRuntime.jsx(RequestDetailsPane, {
|
|
672
|
+
approvalDetails: approvalDetails,
|
|
673
|
+
isOpen: neetoCist.isPresent(approvalDetails),
|
|
674
|
+
onClose: function onClose() {
|
|
675
|
+
return setApprovalDetails({});
|
|
676
|
+
}
|
|
677
|
+
})]
|
|
678
|
+
});
|
|
653
679
|
};
|
|
654
680
|
|
|
655
681
|
var PENDING_TABLE_COLUMNS = neetoCist.removeBy({
|
|
@@ -659,7 +685,6 @@ var PENDING_TABLE_COLUMNS = neetoCist.removeBy({
|
|
|
659
685
|
function ownKeys$9(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; }
|
|
660
686
|
function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
661
687
|
var PendingRequests = function PendingRequests(_ref) {
|
|
662
|
-
var _t;
|
|
663
688
|
var requestUrl = _ref.requestUrl;
|
|
664
689
|
var _useState = React.useState(DEFAULT_FILTER_VALUES),
|
|
665
690
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -680,75 +705,62 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
680
705
|
searchTerm: debouncedSearchTerm.trim(),
|
|
681
706
|
status: [STATUSES.pending]
|
|
682
707
|
}),
|
|
683
|
-
options: {
|
|
684
|
-
onSuccess: function onSuccess(_ref2) {
|
|
685
|
-
var requests = _ref2.requests;
|
|
686
|
-
handleEmptyPage(requests, pageProperties, handlePageChange);
|
|
687
|
-
}
|
|
688
|
-
},
|
|
689
708
|
requestUrl: requestUrl
|
|
690
709
|
}),
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
pendingRequests =
|
|
695
|
-
|
|
696
|
-
totalCount =
|
|
710
|
+
data = _useFetchRequests.data;
|
|
711
|
+
var _ref2 = data || {},
|
|
712
|
+
_ref2$requests = _ref2.requests,
|
|
713
|
+
pendingRequests = _ref2$requests === void 0 ? {} : _ref2$requests,
|
|
714
|
+
_ref2$totalCount = _ref2.totalCount,
|
|
715
|
+
totalCount = _ref2$totalCount === void 0 ? 0 : _ref2$totalCount;
|
|
716
|
+
React.useEffect(function () {
|
|
717
|
+
if (!data) return;
|
|
718
|
+
handleEmptyPage(data === null || data === void 0 ? void 0 : data.requests, pageProperties, handlePageChange);
|
|
719
|
+
}, [data]);
|
|
697
720
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
698
721
|
setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
|
|
699
722
|
sortBy: neetoCist.camelToSnakeCase(sorter.field || ""),
|
|
700
723
|
orderBy: SORT_ORDER[sorter.order]
|
|
701
724
|
}));
|
|
702
725
|
};
|
|
703
|
-
return /*#__PURE__*/
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
})) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
723
|
-
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
724
|
-
}, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
|
|
725
|
-
title: t("neetoApprovals.common.notFound_", {
|
|
726
|
-
what: (_t = t("neetoApprovals.common.pendingApproval", constants.PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
727
|
-
})
|
|
728
|
-
})), /*#__PURE__*/React__default["default"].createElement(RequestDetailsPane, {
|
|
729
|
-
isPending: true,
|
|
730
|
-
approvalDetails: approvalDetails,
|
|
731
|
-
isOpen: neetoCist.isPresent(approvalDetails),
|
|
732
|
-
onClose: function onClose() {
|
|
733
|
-
return setApprovalDetails({});
|
|
734
|
-
}
|
|
735
|
-
}));
|
|
736
|
-
};
|
|
737
|
-
|
|
738
|
-
function _extends() {
|
|
739
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
740
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
741
|
-
var source = arguments[i];
|
|
742
|
-
for (var key in source) {
|
|
743
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
744
|
-
target[key] = source[key];
|
|
726
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
727
|
+
children: [!ramda.isEmpty(pendingRequests) ? /*#__PURE__*/jsxRuntime.jsx(TableWrapper__default["default"], {
|
|
728
|
+
className: "mt-6",
|
|
729
|
+
hasPagination: totalCount > pageProperties.pageSize,
|
|
730
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Table__default["default"], {
|
|
731
|
+
handlePageChange: handlePageChange,
|
|
732
|
+
totalCount: totalCount,
|
|
733
|
+
allowRowClick: true,
|
|
734
|
+
fixedHeight: true,
|
|
735
|
+
columnData: PENDING_TABLE_COLUMNS,
|
|
736
|
+
currentPageNumber: pageProperties.page,
|
|
737
|
+
defaultPageSize: pageProperties.pageSize,
|
|
738
|
+
rowData: pendingRequests,
|
|
739
|
+
paginationProps: {
|
|
740
|
+
hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
741
|
+
},
|
|
742
|
+
onChange: handleTableChange,
|
|
743
|
+
onRowClick: function onRowClick(_, approvalDetails) {
|
|
744
|
+
return setApprovalDetails(approvalDetails);
|
|
745
745
|
}
|
|
746
|
+
})
|
|
747
|
+
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
748
|
+
className: "flex h-full w-full flex-grow items-center justify-center",
|
|
749
|
+
children: /*#__PURE__*/jsxRuntime.jsx(NoData__default["default"], {
|
|
750
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
751
|
+
what: t("neetoApprovals.common.pendingApproval", constants.PLURAL)
|
|
752
|
+
})
|
|
753
|
+
})
|
|
754
|
+
}), /*#__PURE__*/jsxRuntime.jsx(RequestDetailsPane, {
|
|
755
|
+
approvalDetails: approvalDetails,
|
|
756
|
+
isPending: true,
|
|
757
|
+
isOpen: neetoCist.isPresent(approvalDetails),
|
|
758
|
+
onClose: function onClose() {
|
|
759
|
+
return setApprovalDetails({});
|
|
746
760
|
}
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
return _extends.apply(this, arguments);
|
|
751
|
-
}
|
|
761
|
+
})]
|
|
762
|
+
});
|
|
763
|
+
};
|
|
752
764
|
|
|
753
765
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
754
766
|
if (source == null) return {};
|
|
@@ -821,48 +833,50 @@ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t
|
|
|
821
833
|
var useFetchTemplates = function useFetchTemplates() {
|
|
822
834
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
823
835
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
824
|
-
return reactQuery.useQuery(
|
|
825
|
-
|
|
826
|
-
|
|
836
|
+
return reactQuery.useQuery(_objectSpread$8({
|
|
837
|
+
queryKey: [QUERY_KEYS.TEMPLATES, params],
|
|
838
|
+
queryFn: function queryFn() {
|
|
839
|
+
return templatesApi.fetch(params);
|
|
840
|
+
},
|
|
827
841
|
select: function select(response) {
|
|
828
842
|
return response.data || response;
|
|
829
843
|
},
|
|
830
|
-
|
|
831
|
-
onSuccess: function onSuccess(_ref) {
|
|
832
|
-
var _params$onSuccess;
|
|
833
|
-
var templates = _ref.templates;
|
|
834
|
-
return params === null || params === void 0 || (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, templates);
|
|
835
|
-
}
|
|
844
|
+
placeholderData: reactQuery.keepPreviousData
|
|
836
845
|
}, options));
|
|
837
846
|
};
|
|
838
|
-
var useFetchTemplate = function useFetchTemplate(
|
|
839
|
-
var id =
|
|
840
|
-
params =
|
|
841
|
-
return reactQuery.useQuery(
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
+
var useFetchTemplate = function useFetchTemplate(_ref) {
|
|
848
|
+
var id = _ref.id,
|
|
849
|
+
params = _ref.params;
|
|
850
|
+
return reactQuery.useQuery({
|
|
851
|
+
queryKey: [QUERY_KEYS.SHOW_TEMPLATE, id, params],
|
|
852
|
+
queryFn: function queryFn() {
|
|
853
|
+
return templatesApi.show({
|
|
854
|
+
id: id,
|
|
855
|
+
params: params
|
|
856
|
+
});
|
|
857
|
+
},
|
|
847
858
|
enabled: !!id
|
|
848
859
|
});
|
|
849
860
|
};
|
|
850
|
-
var useCreateTemplate = function useCreateTemplate(
|
|
851
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.create,
|
|
852
|
-
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
853
|
-
|
|
861
|
+
var useCreateTemplate = function useCreateTemplate() {
|
|
862
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.create, {
|
|
863
|
+
keysToInvalidate: [[QUERY_KEYS.TEMPLATES], [QUERY_KEYS.VIEWS]],
|
|
864
|
+
onSuccess: function onSuccess() {
|
|
865
|
+
return utils$1.captureAnalyticsEvent(EVENTS.APPROVAL_TEMPLATE_CREATED);
|
|
866
|
+
}
|
|
867
|
+
});
|
|
854
868
|
};
|
|
855
869
|
var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
856
870
|
return reactUtils.useMutationWithInvalidation(templatesApi.update, _objectSpread$8({
|
|
857
|
-
keysToInvalidate: [QUERY_KEYS.TEMPLATES, function (_,
|
|
858
|
-
var id =
|
|
871
|
+
keysToInvalidate: [[QUERY_KEYS.TEMPLATES], function (_, _ref2) {
|
|
872
|
+
var id = _ref2.id;
|
|
859
873
|
return [QUERY_KEYS.SHOW_TEMPLATE, id];
|
|
860
874
|
}]
|
|
861
875
|
}, options));
|
|
862
876
|
};
|
|
863
877
|
var useDeleteTemplate = function useDeleteTemplate(options) {
|
|
864
878
|
return reactUtils.useMutationWithInvalidation(templatesApi.destroy, _objectSpread$8({
|
|
865
|
-
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
879
|
+
keysToInvalidate: [[QUERY_KEYS.TEMPLATES], [QUERY_KEYS.VIEWS]]
|
|
866
880
|
}, options));
|
|
867
881
|
};
|
|
868
882
|
|
|
@@ -878,7 +892,7 @@ var TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
|
878
892
|
message: yup__namespace.string().test("message", i18next.t("neetoApprovals.validations.required", {
|
|
879
893
|
what: i18next.t("neetoApprovals.inputs.labels.message")
|
|
880
894
|
}), function (content) {
|
|
881
|
-
return !
|
|
895
|
+
return !utils.isEditorEmpty(content);
|
|
882
896
|
})
|
|
883
897
|
});
|
|
884
898
|
|
|
@@ -888,7 +902,7 @@ var MessageEditor = reactUtils.withT(function (_ref) {
|
|
|
888
902
|
placeholders = _ref$placeholders === void 0 ? [] : _ref$placeholders,
|
|
889
903
|
_ref$initialValue = _ref.initialValue,
|
|
890
904
|
initialValue = _ref$initialValue === void 0 ? "" : _ref$initialValue;
|
|
891
|
-
return /*#__PURE__*/
|
|
905
|
+
return /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
|
|
892
906
|
initialValue: initialValue,
|
|
893
907
|
required: true,
|
|
894
908
|
label: t("neetoApprovals.inputs.labels.message"),
|
|
@@ -916,32 +930,34 @@ var TemplateForm = function TemplateForm(_ref) {
|
|
|
916
930
|
setFieldValue("description", "");
|
|
917
931
|
}
|
|
918
932
|
};
|
|
919
|
-
return /*#__PURE__*/
|
|
920
|
-
className: "flex w-full flex-col space-y-6"
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
933
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
934
|
+
className: "flex w-full flex-col space-y-6",
|
|
935
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
|
|
936
|
+
autoFocus: true,
|
|
937
|
+
required: true,
|
|
938
|
+
label: t("neetoApprovals.common.name"),
|
|
939
|
+
name: "name",
|
|
940
|
+
placeholder: t("neetoApprovals.inputs.placeholders.name")
|
|
941
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ToggleFeatureCard__default["default"], {
|
|
942
|
+
switchName: "descriptionEnabled",
|
|
943
|
+
title: t("neetoApprovals.inputs.labels.description"),
|
|
944
|
+
switchProps: {
|
|
945
|
+
onChange: handleDescriptionToggle,
|
|
946
|
+
tooltipProps: {
|
|
947
|
+
enabledSwitchText: t("neetoApprovals.templates.descriptionToggle.enable"),
|
|
948
|
+
disabledSwitchText: t("neetoApprovals.templates.descriptionToggle.disable")
|
|
949
|
+
}
|
|
950
|
+
},
|
|
951
|
+
children: values.descriptionEnabled && /*#__PURE__*/jsxRuntime.jsx(Textarea__default$1["default"], {
|
|
952
|
+
className: "w-full",
|
|
953
|
+
name: "description",
|
|
954
|
+
placeholder: t("neetoApprovals.inputs.placeholders.description")
|
|
955
|
+
})
|
|
956
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MessageEditor, {
|
|
957
|
+
placeholders: placeholders,
|
|
958
|
+
initialValue: initialData.message
|
|
959
|
+
})]
|
|
960
|
+
});
|
|
945
961
|
};
|
|
946
962
|
|
|
947
963
|
var Form$2 = function Form(_ref) {
|
|
@@ -962,33 +978,42 @@ var Form$2 = function Form(_ref) {
|
|
|
962
978
|
}) : t("neetoApprovals.common.edit_", {
|
|
963
979
|
what: t("neetoApprovals.common.template", constants.SINGULAR)
|
|
964
980
|
});
|
|
965
|
-
return /*#__PURE__*/
|
|
981
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
|
|
966
982
|
isOpen: isOpen,
|
|
967
983
|
onClose: onClose,
|
|
968
984
|
initialFocusRef: inputReference,
|
|
969
|
-
size: "large"
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
985
|
+
size: "large",
|
|
986
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
|
|
987
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
988
|
+
style: "h2",
|
|
989
|
+
children: header
|
|
990
|
+
})
|
|
991
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(FormikForm__default["default"], {
|
|
992
|
+
formikProps: {
|
|
993
|
+
enableReinitialize: true,
|
|
994
|
+
initialValues: neetoCist.isPresent(initialData) ? initialData : TEMPLATE_FORM_INITIAL_VALUES,
|
|
995
|
+
validationSchema: TEMPLATE_FORM_VALIDATION_SCHEMA,
|
|
996
|
+
onSubmit: onSubmit
|
|
997
|
+
},
|
|
998
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Body, {
|
|
999
|
+
children: /*#__PURE__*/jsxRuntime.jsx(TemplateForm, {
|
|
1000
|
+
initialData: initialData,
|
|
1001
|
+
placeholders: placeholders
|
|
1002
|
+
})
|
|
1003
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Footer, {
|
|
1004
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
|
|
1005
|
+
isSubmitting: isLoading,
|
|
1006
|
+
cancelButtonProps: {
|
|
1007
|
+
"data-cy": "neeto-approvals-templates-close-template-form-btn",
|
|
1008
|
+
onClick: onClose
|
|
1009
|
+
},
|
|
1010
|
+
submitButtonProps: {
|
|
1011
|
+
"data-cy": "neeto-approvals-templates-save-template-btn"
|
|
1012
|
+
}
|
|
1013
|
+
})
|
|
1014
|
+
})]
|
|
1015
|
+
})]
|
|
1016
|
+
});
|
|
992
1017
|
};
|
|
993
1018
|
|
|
994
1019
|
var Create = function Create(_ref) {
|
|
@@ -998,7 +1023,7 @@ var Create = function Create(_ref) {
|
|
|
998
1023
|
templatePlaceholders = _ref.templatePlaceholders;
|
|
999
1024
|
var _useCreateTemplate = useCreateTemplate(),
|
|
1000
1025
|
createTemplate = _useCreateTemplate.mutate,
|
|
1001
|
-
|
|
1026
|
+
isPending = _useCreateTemplate.isPending;
|
|
1002
1027
|
var onSubmit = function onSubmit(template) {
|
|
1003
1028
|
var payload = {
|
|
1004
1029
|
template: template
|
|
@@ -1010,11 +1035,11 @@ var Create = function Create(_ref) {
|
|
|
1010
1035
|
onSuccess: onClose
|
|
1011
1036
|
});
|
|
1012
1037
|
};
|
|
1013
|
-
return /*#__PURE__*/
|
|
1014
|
-
isLoading: isLoading,
|
|
1038
|
+
return /*#__PURE__*/jsxRuntime.jsx(Form$2, {
|
|
1015
1039
|
isOpen: isOpen,
|
|
1016
1040
|
onClose: onClose,
|
|
1017
1041
|
onSubmit: onSubmit,
|
|
1042
|
+
isLoading: isPending,
|
|
1018
1043
|
placeholders: templatePlaceholders
|
|
1019
1044
|
});
|
|
1020
1045
|
};
|
|
@@ -1034,7 +1059,7 @@ var Edit = function Edit(_ref) {
|
|
|
1034
1059
|
}
|
|
1035
1060
|
}),
|
|
1036
1061
|
updateTemplate = _useUpdateTemplate.mutate,
|
|
1037
|
-
isUpdating = _useUpdateTemplate.
|
|
1062
|
+
isUpdating = _useUpdateTemplate.isPending;
|
|
1038
1063
|
var onSubmit = function onSubmit(template) {
|
|
1039
1064
|
var payload = {
|
|
1040
1065
|
template: template
|
|
@@ -1048,7 +1073,7 @@ var Edit = function Edit(_ref) {
|
|
|
1048
1073
|
var initialData = _objectSpread$7(_objectSpread$7({}, template), {}, {
|
|
1049
1074
|
descriptionEnabled: !!template.description
|
|
1050
1075
|
});
|
|
1051
|
-
return /*#__PURE__*/
|
|
1076
|
+
return /*#__PURE__*/jsxRuntime.jsx(Form$2, {
|
|
1052
1077
|
initialData: initialData,
|
|
1053
1078
|
isOpen: isOpen,
|
|
1054
1079
|
onClose: onClose,
|
|
@@ -1061,18 +1086,21 @@ var Edit = function Edit(_ref) {
|
|
|
1061
1086
|
var Field = function Field(_ref) {
|
|
1062
1087
|
var label = _ref.label,
|
|
1063
1088
|
value = _ref.value;
|
|
1064
|
-
return /*#__PURE__*/
|
|
1065
|
-
className: "flex flex-col items-start justify-center"
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1089
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1090
|
+
className: "flex flex-col items-start justify-center",
|
|
1091
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
1092
|
+
className: "mb-1 font-normal",
|
|
1093
|
+
children: label
|
|
1094
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1095
|
+
style: "body1",
|
|
1096
|
+
weight: "medium",
|
|
1097
|
+
children: value
|
|
1098
|
+
})]
|
|
1099
|
+
});
|
|
1072
1100
|
};
|
|
1073
1101
|
var Field$1 = /*#__PURE__*/React__default["default"].memo(Field);
|
|
1074
1102
|
|
|
1075
|
-
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(
|
|
1103
|
+
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(EditorContent__default["default"]);
|
|
1076
1104
|
var TemplateDetails = function TemplateDetails(_ref) {
|
|
1077
1105
|
var isOpen = _ref.isOpen,
|
|
1078
1106
|
onClose = _ref.onClose,
|
|
@@ -1082,41 +1110,47 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1082
1110
|
var name = template.name,
|
|
1083
1111
|
description = template.description,
|
|
1084
1112
|
message = template.message;
|
|
1085
|
-
return /*#__PURE__*/
|
|
1113
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
|
|
1086
1114
|
isOpen: isOpen,
|
|
1087
|
-
onClose: onClose
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1115
|
+
onClose: onClose,
|
|
1116
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
|
|
1117
|
+
className: "space-y-2",
|
|
1118
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1119
|
+
style: "h2",
|
|
1120
|
+
children: t("neetoApprovals.common.templateDetails")
|
|
1121
|
+
})
|
|
1122
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"].Body, {
|
|
1123
|
+
className: "space-y-6",
|
|
1124
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Field$1, {
|
|
1125
|
+
label: t("neetoApprovals.common.name"),
|
|
1126
|
+
value: name
|
|
1127
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Field$1, {
|
|
1128
|
+
label: t("neetoApprovals.inputs.labels.description"),
|
|
1129
|
+
value: description
|
|
1130
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1131
|
+
className: "flex w-full flex-col space-y-4",
|
|
1132
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
|
|
1133
|
+
className: "mb-1 font-normal",
|
|
1134
|
+
children: t("neetoApprovals.inputs.labels.message")
|
|
1135
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent, {
|
|
1136
|
+
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3",
|
|
1137
|
+
content: message
|
|
1138
|
+
})]
|
|
1139
|
+
})]
|
|
1140
|
+
})]
|
|
1141
|
+
});
|
|
1108
1142
|
};
|
|
1109
1143
|
|
|
1110
1144
|
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
1111
1145
|
var entity = _ref.entity,
|
|
1112
1146
|
url = _ref.url;
|
|
1113
|
-
return /*#__PURE__*/
|
|
1147
|
+
return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
1114
1148
|
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
1115
1149
|
values: {
|
|
1116
1150
|
entity: entity
|
|
1117
1151
|
},
|
|
1118
1152
|
components: {
|
|
1119
|
-
a: /*#__PURE__*/
|
|
1153
|
+
a: /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, {
|
|
1120
1154
|
className: "neeto-ui-text-primary-600 underline",
|
|
1121
1155
|
target: "_blank",
|
|
1122
1156
|
to: {
|
|
@@ -1171,34 +1205,36 @@ var Table = function Table(_ref) {
|
|
|
1171
1205
|
})
|
|
1172
1206
|
};
|
|
1173
1207
|
if (ramda.isEmpty(rowData)) {
|
|
1174
|
-
return /*#__PURE__*/
|
|
1175
|
-
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1208
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1209
|
+
className: "flex h-full w-full flex-grow items-center justify-center",
|
|
1210
|
+
children: /*#__PURE__*/jsxRuntime.jsx(NoData__default["default"], _objectSpread$6({
|
|
1211
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
1212
|
+
what: entity
|
|
1213
|
+
})
|
|
1214
|
+
}, !filters.searchTerm && noDataProps))
|
|
1215
|
+
});
|
|
1181
1216
|
}
|
|
1182
|
-
return /*#__PURE__*/
|
|
1217
|
+
return /*#__PURE__*/jsxRuntime.jsx(TableWrapper__default["default"], {
|
|
1183
1218
|
className: "mt-6",
|
|
1184
|
-
hasPagination: totalCount > pageProperties.pageSize
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1219
|
+
hasPagination: totalCount > pageProperties.pageSize,
|
|
1220
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Table__default["default"], _objectSpread$6({
|
|
1221
|
+
fixedHeight: true,
|
|
1222
|
+
columnData: columns,
|
|
1223
|
+
currentPageNumber: pageProperties.page,
|
|
1224
|
+
defaultPageSize: pageProperties.pageSize,
|
|
1225
|
+
scroll: {
|
|
1226
|
+
x: 0
|
|
1227
|
+
},
|
|
1228
|
+
tableLayout: "fixed",
|
|
1229
|
+
paginationProps: {
|
|
1230
|
+
hideOnSinglePage: (rowData === null || rowData === void 0 ? void 0 : rowData.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1231
|
+
},
|
|
1232
|
+
onChange: handleTableChange
|
|
1233
|
+
}, _objectSpread$6({
|
|
1234
|
+
rowData: rowData,
|
|
1235
|
+
totalCount: totalCount
|
|
1236
|
+
}, otherProps)))
|
|
1237
|
+
});
|
|
1202
1238
|
};
|
|
1203
1239
|
|
|
1204
1240
|
var columnData = function columnData(_ref) {
|
|
@@ -1211,32 +1247,34 @@ var columnData = function columnData(_ref) {
|
|
|
1211
1247
|
title: i18next__default["default"].t("neetoApprovals.common.name"),
|
|
1212
1248
|
ellipsis: true,
|
|
1213
1249
|
render: function render(_, template) {
|
|
1214
|
-
return /*#__PURE__*/
|
|
1215
|
-
className: "flex items-center justify-between gap-x-3"
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1250
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1251
|
+
className: "flex items-center justify-between gap-x-3",
|
|
1252
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1253
|
+
className: "truncate",
|
|
1254
|
+
style: "body2",
|
|
1255
|
+
children: template.name
|
|
1256
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown__default["default"], {
|
|
1257
|
+
dropdownProps: {
|
|
1258
|
+
strategy: "fixed",
|
|
1259
|
+
onClick: function onClick(e) {
|
|
1260
|
+
return e.stopPropagation();
|
|
1261
|
+
}
|
|
1262
|
+
},
|
|
1263
|
+
menuItems: [_defineProperty({
|
|
1264
|
+
key: "edit",
|
|
1265
|
+
label: i18next__default["default"].t("neetoApprovals.common.edit"),
|
|
1266
|
+
onClick: function onClick(event) {
|
|
1267
|
+
return onEditClick(event, template);
|
|
1268
|
+
}
|
|
1269
|
+
}, DATA_CY_KEY, "neeto-approvals-templates-edit-template-btn"), _defineProperty({
|
|
1270
|
+
key: "delete",
|
|
1271
|
+
label: i18next__default["default"].t("neetoApprovals.common.delete"),
|
|
1272
|
+
onClick: function onClick(event) {
|
|
1273
|
+
return onDeleteClick(event, template);
|
|
1274
|
+
}
|
|
1275
|
+
}, DATA_CY_KEY, "neeto-approvals-templates-delete-template-btn")]
|
|
1276
|
+
})]
|
|
1277
|
+
});
|
|
1240
1278
|
}
|
|
1241
1279
|
}, {
|
|
1242
1280
|
dataIndex: "description",
|
|
@@ -1249,7 +1287,6 @@ var _excluded = ["searchTerm", "isNewTemplatePaneOpen", "setIsNewTemplatePaneOpe
|
|
|
1249
1287
|
function ownKeys$5(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; }
|
|
1250
1288
|
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1251
1289
|
var Templates = function Templates(_ref) {
|
|
1252
|
-
var _t, _t2, _t3;
|
|
1253
1290
|
var searchTerm = _ref.searchTerm,
|
|
1254
1291
|
isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
|
|
1255
1292
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen,
|
|
@@ -1287,28 +1324,27 @@ var Templates = function Templates(_ref) {
|
|
|
1287
1324
|
}, [searchTerm]);
|
|
1288
1325
|
var _useFetchTemplates = useFetchTemplates(_objectSpread$5(_objectSpread$5(_objectSpread$5({}, pageProperties), filters), {}, {
|
|
1289
1326
|
searchTerm: debouncedSearchTerm.trim()
|
|
1290
|
-
}),
|
|
1291
|
-
|
|
1292
|
-
var templates = _ref2.templates;
|
|
1293
|
-
handleEmptyPage(templates, pageProperties, handlePageChange);
|
|
1294
|
-
}
|
|
1295
|
-
}),
|
|
1296
|
-
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
1297
|
-
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
1298
|
-
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
1299
|
-
templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3,
|
|
1300
|
-
_useFetchTemplates$da4 = _useFetchTemplates$da2.totalCount,
|
|
1301
|
-
totalCount = _useFetchTemplates$da4 === void 0 ? 0 : _useFetchTemplates$da4,
|
|
1327
|
+
})),
|
|
1328
|
+
data = _useFetchTemplates.data,
|
|
1302
1329
|
isTemplateLoading = _useFetchTemplates.isLoading;
|
|
1330
|
+
var _ref2 = data || {},
|
|
1331
|
+
_ref2$templates = _ref2.templates,
|
|
1332
|
+
templates = _ref2$templates === void 0 ? [] : _ref2$templates,
|
|
1333
|
+
_ref2$totalCount = _ref2.totalCount,
|
|
1334
|
+
totalCount = _ref2$totalCount === void 0 ? 0 : _ref2$totalCount;
|
|
1335
|
+
React.useEffect(function () {
|
|
1336
|
+
if (data) {
|
|
1337
|
+
handleEmptyPage(data === null || data === void 0 ? void 0 : data.templates, pageProperties, handlePageChange);
|
|
1338
|
+
}
|
|
1339
|
+
}, [data]);
|
|
1303
1340
|
var _useDeleteTemplate = useDeleteTemplate(),
|
|
1304
1341
|
deleteTemplate = _useDeleteTemplate.mutate,
|
|
1305
|
-
isDeleting = _useDeleteTemplate.
|
|
1342
|
+
isDeleting = _useDeleteTemplate.isPending;
|
|
1306
1343
|
React.useEffect(function () {
|
|
1307
|
-
if (ramda.isEmpty(selectedTemplate))
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
}
|
|
1344
|
+
if (!ramda.isEmpty(selectedTemplate)) return;
|
|
1345
|
+
setIsDeleteAlertOpen(false);
|
|
1346
|
+
setIsEditPaneOpen(false);
|
|
1347
|
+
setIsShowPaneOpen(false);
|
|
1312
1348
|
}, [selectedTemplate]);
|
|
1313
1349
|
var onEditClick = function onEditClick(event, template) {
|
|
1314
1350
|
event.stopPropagation();
|
|
@@ -1330,62 +1366,64 @@ var Templates = function Templates(_ref) {
|
|
|
1330
1366
|
});
|
|
1331
1367
|
setSelectedTemplate({});
|
|
1332
1368
|
};
|
|
1333
|
-
var entity =
|
|
1334
|
-
return /*#__PURE__*/
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
}, otherProps)), /*#__PURE__*/React__default["default"].createElement(Edit, _extends({
|
|
1355
|
-
isOpen: isEditPaneOpen,
|
|
1356
|
-
setTemplate: setSelectedTemplate,
|
|
1357
|
-
template: selectedTemplate
|
|
1358
|
-
}, otherProps, {
|
|
1359
|
-
onClose: function onClose() {
|
|
1360
|
-
return setIsEditPaneOpen(false);
|
|
1361
|
-
}
|
|
1362
|
-
})), /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
|
1363
|
-
isOpen: isDeleteAlertOpen,
|
|
1364
|
-
isSubmitting: isDeleting,
|
|
1365
|
-
submitButtonLabel: t("neetoApprovals.buttons.delete"),
|
|
1366
|
-
message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
1367
|
-
i18nKey: "neetoApprovals.alerts.deleting_",
|
|
1368
|
-
values: {
|
|
1369
|
-
what: (_t2 = t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase(),
|
|
1370
|
-
name: selectedTemplate === null || selectedTemplate === void 0 ? void 0 : selectedTemplate.name
|
|
1369
|
+
var entity = t("neetoApprovals.common.template", constants.PLURAL);
|
|
1370
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1371
|
+
children: [isTemplateLoading ? /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {}) : /*#__PURE__*/jsxRuntime.jsx(Table, {
|
|
1372
|
+
columnData: columnData,
|
|
1373
|
+
entity: entity,
|
|
1374
|
+
filters: filters,
|
|
1375
|
+
handlePageChange: handlePageChange,
|
|
1376
|
+
helpDocUrl: helpDocUrl,
|
|
1377
|
+
onDeleteClick: onDeleteClick,
|
|
1378
|
+
onEditClick: onEditClick,
|
|
1379
|
+
onRowClick: onRowClick,
|
|
1380
|
+
pageProperties: pageProperties,
|
|
1381
|
+
searchTerm: searchTerm,
|
|
1382
|
+
setFilters: setFilters,
|
|
1383
|
+
totalCount: totalCount,
|
|
1384
|
+
rowData: templates,
|
|
1385
|
+
setIsPaneOpen: setIsNewTemplatePaneOpen
|
|
1386
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Create, _objectSpread$5({
|
|
1387
|
+
isOpen: isNewTemplatePaneOpen,
|
|
1388
|
+
onClose: function onClose() {
|
|
1389
|
+
return setIsNewTemplatePaneOpen(false);
|
|
1371
1390
|
}
|
|
1372
|
-
}),
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1391
|
+
}, otherProps)), /*#__PURE__*/jsxRuntime.jsx(Edit, _objectSpread$5(_objectSpread$5({
|
|
1392
|
+
isOpen: isEditPaneOpen,
|
|
1393
|
+
setTemplate: setSelectedTemplate,
|
|
1394
|
+
template: selectedTemplate
|
|
1395
|
+
}, otherProps), {}, {
|
|
1396
|
+
onClose: function onClose() {
|
|
1397
|
+
return setIsEditPaneOpen(false);
|
|
1398
|
+
}
|
|
1399
|
+
})), /*#__PURE__*/jsxRuntime.jsx(Alert__default["default"], {
|
|
1400
|
+
isOpen: isDeleteAlertOpen,
|
|
1401
|
+
isSubmitting: isDeleting,
|
|
1402
|
+
submitButtonLabel: t("neetoApprovals.buttons.delete"),
|
|
1403
|
+
message: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
1404
|
+
i18nKey: "neetoApprovals.alerts.deleting_",
|
|
1405
|
+
values: {
|
|
1406
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR),
|
|
1407
|
+
name: selectedTemplate === null || selectedTemplate === void 0 ? void 0 : selectedTemplate.name
|
|
1408
|
+
}
|
|
1409
|
+
}),
|
|
1410
|
+
title: t("neetoApprovals.common.delete_", {
|
|
1411
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR)
|
|
1412
|
+
}),
|
|
1413
|
+
onClose: function onClose() {
|
|
1414
|
+
return setSelectedTemplate({});
|
|
1415
|
+
},
|
|
1416
|
+
onSubmit: function onSubmit() {
|
|
1417
|
+
return handleDelete(selectedTemplate === null || selectedTemplate === void 0 ? void 0 : selectedTemplate.id);
|
|
1418
|
+
}
|
|
1419
|
+
}), /*#__PURE__*/jsxRuntime.jsx(TemplateDetails, {
|
|
1420
|
+
isOpen: isShowPaneOpen,
|
|
1421
|
+
template: selectedTemplate,
|
|
1422
|
+
onClose: function onClose() {
|
|
1423
|
+
return setSelectedTemplate({});
|
|
1424
|
+
}
|
|
1425
|
+
})]
|
|
1426
|
+
});
|
|
1389
1427
|
};
|
|
1390
1428
|
|
|
1391
1429
|
function ownKeys$4(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; }
|
|
@@ -1397,16 +1435,16 @@ var createRoutes = function createRoutes(_ref) {
|
|
|
1397
1435
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
|
|
1398
1436
|
return [{
|
|
1399
1437
|
component: function component() {
|
|
1400
|
-
return /*#__PURE__*/
|
|
1438
|
+
return /*#__PURE__*/jsxRuntime.jsx(Templates, _objectSpread$4({}, _objectSpread$4({
|
|
1401
1439
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
1402
1440
|
searchTerm: searchTerm,
|
|
1403
1441
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
1404
|
-
}, config));
|
|
1442
|
+
}, config)));
|
|
1405
1443
|
},
|
|
1406
1444
|
path: "".concat(config.approvalsPath).concat(routes.templates.index),
|
|
1407
1445
|
actionBlock: function actionBlock() {
|
|
1408
1446
|
var _t;
|
|
1409
|
-
return /*#__PURE__*/
|
|
1447
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
1410
1448
|
"data-cy": "neeto-approvals-templates-add-new-button",
|
|
1411
1449
|
label: i18next.t("neetoApprovals.common.addNew_", {
|
|
1412
1450
|
what: (_t = i18next.t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
@@ -1421,12 +1459,12 @@ var createRoutes = function createRoutes(_ref) {
|
|
|
1421
1459
|
})
|
|
1422
1460
|
}, {
|
|
1423
1461
|
component: function component() {
|
|
1424
|
-
return /*#__PURE__*/
|
|
1462
|
+
return /*#__PURE__*/jsxRuntime.jsx(PendingRequests, _objectSpread$4({}, config));
|
|
1425
1463
|
},
|
|
1426
1464
|
path: "".concat(config.approvalsPath).concat(routes.pending)
|
|
1427
1465
|
}, {
|
|
1428
1466
|
component: function component() {
|
|
1429
|
-
return /*#__PURE__*/
|
|
1467
|
+
return /*#__PURE__*/jsxRuntime.jsx(History, _objectSpread$4({}, config));
|
|
1430
1468
|
},
|
|
1431
1469
|
path: "".concat(config.approvalsPath).concat(routes.history)
|
|
1432
1470
|
}];
|
|
@@ -1443,7 +1481,7 @@ var Header = function Header(_ref) {
|
|
|
1443
1481
|
var currentTab = neetoCist.findBy({
|
|
1444
1482
|
path: pathname
|
|
1445
1483
|
}, appRoutes);
|
|
1446
|
-
return /*#__PURE__*/
|
|
1484
|
+
return /*#__PURE__*/jsxRuntime.jsx(NeetoHeader__default["default"], {
|
|
1447
1485
|
actionBlock: currentTab === null || currentTab === void 0 || (_currentTab$actionBlo = currentTab.actionBlock) === null || _currentTab$actionBlo === void 0 ? void 0 : _currentTab$actionBlo.call(currentTab),
|
|
1448
1486
|
title: t("neetoApprovals.common.approval", constants.PLURAL),
|
|
1449
1487
|
searchProps: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder) && {
|
|
@@ -1464,9 +1502,9 @@ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
|
|
|
1464
1502
|
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1465
1503
|
var useFetchViews = function useFetchViews() {
|
|
1466
1504
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1467
|
-
return reactQuery.useQuery(
|
|
1468
|
-
|
|
1469
|
-
|
|
1505
|
+
return reactQuery.useQuery(_objectSpread$3({
|
|
1506
|
+
queryKey: [QUERY_KEYS.VIEWS],
|
|
1507
|
+
queryFn: viewsApi.fetch,
|
|
1470
1508
|
select: function select(response) {
|
|
1471
1509
|
return response.data || response;
|
|
1472
1510
|
}
|
|
@@ -1493,17 +1531,19 @@ var Tab = function Tab(_ref) {
|
|
|
1493
1531
|
_useFetchViews$data2 = _useFetchViews$data === void 0 ? {} : _useFetchViews$data,
|
|
1494
1532
|
_useFetchViews$data2$ = _useFetchViews$data2.views,
|
|
1495
1533
|
views = _useFetchViews$data2$ === void 0 ? {} : _useFetchViews$data2$;
|
|
1496
|
-
return /*#__PURE__*/
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1534
|
+
return /*#__PURE__*/jsxRuntime.jsx(NeetoUITab__default["default"], {
|
|
1535
|
+
children: approvalFilterKeys.map(function (filter) {
|
|
1536
|
+
return /*#__PURE__*/jsxRuntime.jsxs(NeetoUITab__default["default"].Item, {
|
|
1537
|
+
active: isActive(filter),
|
|
1538
|
+
count: views[filter === null || filter === void 0 ? void 0 : filter.toLocaleLowerCase()],
|
|
1539
|
+
label: approvalFilter[filter].label,
|
|
1540
|
+
onClick: function onClick() {
|
|
1541
|
+
return history.push(getRoute(filter));
|
|
1542
|
+
},
|
|
1543
|
+
children: [approvalFilter[filter].label, " (", views[filter === null || filter === void 0 ? void 0 : filter.toLocaleLowerCase()] || 0, ")"]
|
|
1544
|
+
}, filter);
|
|
1545
|
+
})
|
|
1546
|
+
});
|
|
1507
1547
|
};
|
|
1508
1548
|
|
|
1509
1549
|
function ownKeys$2(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; }
|
|
@@ -1523,28 +1563,33 @@ var Approvals = function Approvals(_ref) {
|
|
|
1523
1563
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
1524
1564
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
1525
1565
|
});
|
|
1526
|
-
return /*#__PURE__*/
|
|
1527
|
-
className: "w-full overflow-y-auto"
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1566
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1567
|
+
className: "w-full overflow-y-auto",
|
|
1568
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
|
|
1569
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Header, _objectSpread$2({}, _objectSpread$2({
|
|
1570
|
+
appRoutes: appRoutes
|
|
1571
|
+
}, config))), /*#__PURE__*/jsxRuntime.jsx(Tab, {
|
|
1572
|
+
approvalsPath: config.approvalsPath
|
|
1573
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
1574
|
+
children: [appRoutes.map(function (_ref2) {
|
|
1575
|
+
var path = _ref2.path,
|
|
1576
|
+
component = _ref2.component;
|
|
1577
|
+
return /*#__PURE__*/React.createElement(reactRouterDom.Route, {
|
|
1578
|
+
exact: true,
|
|
1579
|
+
component: component,
|
|
1580
|
+
path: path,
|
|
1581
|
+
key: path
|
|
1582
|
+
});
|
|
1583
|
+
}), /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
1584
|
+
exact: true,
|
|
1585
|
+
from: config.approvalsPath
|
|
1586
|
+
// eslint-disable-next-line @bigbinary/neeto/use-common-routes
|
|
1587
|
+
,
|
|
1588
|
+
to: "".concat(config.approvalsPath).concat(routes.pending)
|
|
1589
|
+
})]
|
|
1590
|
+
})]
|
|
1591
|
+
})
|
|
1592
|
+
});
|
|
1548
1593
|
};
|
|
1549
1594
|
|
|
1550
1595
|
var fetch = function fetch(params) {
|
|
@@ -1561,17 +1606,13 @@ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t
|
|
|
1561
1606
|
var useFetchApprovers = function useFetchApprovers() {
|
|
1562
1607
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1563
1608
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1564
|
-
return reactQuery.useQuery(
|
|
1565
|
-
|
|
1566
|
-
|
|
1609
|
+
return reactQuery.useQuery(_objectSpread$1({
|
|
1610
|
+
queryKey: [QUERY_KEYS.APPROVERS, params],
|
|
1611
|
+
queryFn: function queryFn() {
|
|
1612
|
+
return approversApi.fetch(params);
|
|
1613
|
+
},
|
|
1567
1614
|
select: function select(response) {
|
|
1568
1615
|
return response.data || response;
|
|
1569
|
-
},
|
|
1570
|
-
keepPreviousData: true,
|
|
1571
|
-
onSuccess: function onSuccess(_ref) {
|
|
1572
|
-
var _params$onSuccess;
|
|
1573
|
-
var approvers = _ref.approvers;
|
|
1574
|
-
return params === null || params === void 0 || (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
1575
1616
|
}
|
|
1576
1617
|
}, options));
|
|
1577
1618
|
};
|
|
@@ -1650,37 +1691,42 @@ var Form$1 = function Form(_ref) {
|
|
|
1650
1691
|
setSelectedTemplateData(template);
|
|
1651
1692
|
updateMessage();
|
|
1652
1693
|
}, [template]);
|
|
1653
|
-
return /*#__PURE__*/
|
|
1654
|
-
className: "w-full space-y-6"
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1694
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1695
|
+
className: "w-full space-y-6",
|
|
1696
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
|
|
1697
|
+
label: t("neetoApprovals.select.approval"),
|
|
1698
|
+
options: templateOptions,
|
|
1699
|
+
onChange: function onChange(selectedTemplate) {
|
|
1700
|
+
return handleTemplateChange(selectedTemplate);
|
|
1701
|
+
}
|
|
1702
|
+
}), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1703
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1704
|
+
className: "flex space-x-6",
|
|
1705
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
|
|
1706
|
+
required: true,
|
|
1707
|
+
label: t("neetoApprovals.inputs.labels.approver"),
|
|
1708
|
+
name: "approver",
|
|
1709
|
+
options: approverOptions,
|
|
1710
|
+
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1711
|
+
what: t("neetoApprovals.common.approver", constants.SINGULAR)
|
|
1712
|
+
}),
|
|
1713
|
+
onChange: handleApproverChange
|
|
1714
|
+
})
|
|
1715
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1716
|
+
className: "space-y-2",
|
|
1717
|
+
children: /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
|
|
1718
|
+
required: true,
|
|
1719
|
+
label: t("neetoApprovals.inputs.labels.message"),
|
|
1720
|
+
name: "message",
|
|
1721
|
+
ref: inputRef,
|
|
1722
|
+
rows: 3,
|
|
1723
|
+
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1724
|
+
what: t("neetoApprovals.inputs.labels.message")
|
|
1725
|
+
})
|
|
1726
|
+
})
|
|
1727
|
+
})]
|
|
1728
|
+
})]
|
|
1729
|
+
});
|
|
1684
1730
|
};
|
|
1685
1731
|
|
|
1686
1732
|
var Form = function Form(_ref) {
|
|
@@ -1706,29 +1752,38 @@ var Form = function Form(_ref) {
|
|
|
1706
1752
|
approverId: values.approver.value
|
|
1707
1753
|
}, selectedTemplateData, onClose);
|
|
1708
1754
|
};
|
|
1709
|
-
return /*#__PURE__*/
|
|
1755
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
|
|
1710
1756
|
isOpen: isOpen,
|
|
1711
|
-
onClose: onClose
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1757
|
+
onClose: onClose,
|
|
1758
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
|
|
1759
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1760
|
+
style: "h2",
|
|
1761
|
+
children: t("neetoApprovals.common.add_", {
|
|
1762
|
+
what: t("neetoApprovals.common.approval", constants.SINGULAR)
|
|
1763
|
+
})
|
|
1764
|
+
})
|
|
1765
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(FormikForm__default["default"], {
|
|
1766
|
+
formikProps: {
|
|
1767
|
+
onSubmit: handleSubmit,
|
|
1768
|
+
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES,
|
|
1769
|
+
validationSchema: REQUEST_FORM_VALIDATION_SCHEMA
|
|
1770
|
+
},
|
|
1771
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Body, {
|
|
1772
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Form$1, {
|
|
1773
|
+
requestableId: requestableId,
|
|
1774
|
+
selectedTemplateData: selectedTemplateData,
|
|
1775
|
+
setSelectedTemplateData: setSelectedTemplateData
|
|
1776
|
+
})
|
|
1777
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Footer, {
|
|
1778
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
|
|
1779
|
+
cancelButtonProps: {
|
|
1780
|
+
onClick: onClose
|
|
1781
|
+
},
|
|
1782
|
+
isSubmitting: isLoading
|
|
1783
|
+
})
|
|
1784
|
+
})]
|
|
1785
|
+
})]
|
|
1786
|
+
});
|
|
1732
1787
|
};
|
|
1733
1788
|
|
|
1734
1789
|
var show = function show(id) {
|
|
@@ -1758,20 +1813,21 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
1758
1813
|
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; }
|
|
1759
1814
|
var useFetchPublicRequest = function useFetchPublicRequest(_ref, options) {
|
|
1760
1815
|
var requestId = _ref.requestId;
|
|
1761
|
-
return reactQuery.useQuery(
|
|
1762
|
-
|
|
1763
|
-
|
|
1816
|
+
return reactQuery.useQuery(_objectSpread({
|
|
1817
|
+
queryKey: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],
|
|
1818
|
+
queryFn: function queryFn() {
|
|
1819
|
+
return publicRequestsApi.show(requestId);
|
|
1820
|
+
}
|
|
1821
|
+
}, options));
|
|
1764
1822
|
};
|
|
1765
1823
|
var useAcceptPendingRequest = function useAcceptPendingRequest(options) {
|
|
1766
|
-
reactQuery.useQueryClient();
|
|
1767
1824
|
return reactUtils.useMutationWithInvalidation(publicRequestsApi.accept, _objectSpread({
|
|
1768
|
-
keysToInvalidate: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
1825
|
+
keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
1769
1826
|
}, options));
|
|
1770
1827
|
};
|
|
1771
1828
|
var useDeclinePendingRequest = function useDeclinePendingRequest(options) {
|
|
1772
|
-
reactQuery.useQueryClient();
|
|
1773
1829
|
return reactUtils.useMutationWithInvalidation(publicRequestsApi.decline, _objectSpread({
|
|
1774
|
-
keysToInvalidate: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
1830
|
+
keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
1775
1831
|
}, options));
|
|
1776
1832
|
};
|
|
1777
1833
|
|
|
@@ -1787,84 +1843,96 @@ var Public = function Public() {
|
|
|
1787
1843
|
t = _useTranslation.t;
|
|
1788
1844
|
var _useFetchPublicReques = useFetchPublicRequest({
|
|
1789
1845
|
requestId: id
|
|
1790
|
-
}, {
|
|
1791
|
-
onSuccess: function onSuccess(_ref) {
|
|
1792
|
-
var note = _ref.approvalRequest.note;
|
|
1793
|
-
note && setNote(note);
|
|
1794
|
-
}
|
|
1795
1846
|
}),
|
|
1796
|
-
|
|
1797
|
-
_useFetchPublicReques3 = _useFetchPublicReques2 === void 0 ? {} : _useFetchPublicReques2,
|
|
1798
|
-
_useFetchPublicReques4 = _useFetchPublicReques3.approvalRequest,
|
|
1799
|
-
approvalRequest = _useFetchPublicReques4 === void 0 ? {} : _useFetchPublicReques4,
|
|
1847
|
+
data = _useFetchPublicReques.data,
|
|
1800
1848
|
isLoading = _useFetchPublicReques.isLoading;
|
|
1849
|
+
var _ref = data || {},
|
|
1850
|
+
_ref$approvalRequest = _ref.approvalRequest,
|
|
1851
|
+
approvalRequest = _ref$approvalRequest === void 0 ? {} : _ref$approvalRequest;
|
|
1852
|
+
React.useEffect(function () {
|
|
1853
|
+
var _data$approvalRequest;
|
|
1854
|
+
if (data !== null && data !== void 0 && (_data$approvalRequest = data.approvalRequest) !== null && _data$approvalRequest !== void 0 && _data$approvalRequest.note) {
|
|
1855
|
+
setNote(data.approvalRequest.note);
|
|
1856
|
+
}
|
|
1857
|
+
}, [data]);
|
|
1801
1858
|
var _useAcceptPendingRequ = useAcceptPendingRequest(),
|
|
1802
1859
|
acceptPendingRequest = _useAcceptPendingRequ.mutate,
|
|
1803
|
-
isAccepting = _useAcceptPendingRequ.
|
|
1860
|
+
isAccepting = _useAcceptPendingRequ.isPending;
|
|
1804
1861
|
var _useDeclinePendingReq = useDeclinePendingRequest(),
|
|
1805
1862
|
declinePendingRequest = _useDeclinePendingReq.mutate,
|
|
1806
|
-
isDeclining = _useDeclinePendingReq.
|
|
1863
|
+
isDeclining = _useDeclinePendingReq.isPending;
|
|
1807
1864
|
var calloutStyle = approvalRequest.status === STATUSES.approved ? "success" : "danger";
|
|
1808
1865
|
var hideTextArea = approvalRequest.status !== STATUSES.pending && ramda.isEmpty(note);
|
|
1809
1866
|
if (isLoading) {
|
|
1810
|
-
return /*#__PURE__*/
|
|
1811
|
-
className: "h-screen items-center justify-center"
|
|
1812
|
-
|
|
1867
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1868
|
+
className: "h-screen items-center justify-center",
|
|
1869
|
+
children: /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {})
|
|
1870
|
+
});
|
|
1813
1871
|
}
|
|
1814
|
-
return /*#__PURE__*/
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1872
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
|
|
1873
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(NeetoHeader__default["default"], {
|
|
1874
|
+
title: t("neetoApprovals.common.approval", constants.PLURAL)
|
|
1875
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1876
|
+
className: "flex h-screen w-full flex-col items-center",
|
|
1877
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1878
|
+
className: "neeto-ui-shadow-s w-2/5 rounded border p-6",
|
|
1879
|
+
children: approvalRequest ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1880
|
+
className: "flex w-full flex-col space-y-6",
|
|
1881
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1882
|
+
style: "h2",
|
|
1883
|
+
children: approvalRequest.title
|
|
1884
|
+
}), /*#__PURE__*/jsxRuntime.jsx(EditorContent__default["default"], {
|
|
1885
|
+
content: approvalRequest.message
|
|
1886
|
+
}), !hideTextArea && /*#__PURE__*/jsxRuntime.jsx(Textarea__default["default"], {
|
|
1887
|
+
label: t("neetoApprovals.common.note"),
|
|
1888
|
+
placeholder: t("neetoApprovals.inputs.placeholders.add_", {
|
|
1889
|
+
what: (_t = t("neetoApprovals.common.note")) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1890
|
+
}),
|
|
1891
|
+
value: note,
|
|
1892
|
+
disabled: approvalRequest.status !== STATUSES.pending,
|
|
1893
|
+
onChange: utils$1.withEventTargetValue(setNote)
|
|
1894
|
+
}), approvalRequest.status === STATUSES.pending ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1895
|
+
className: "mx-auto mt-8 flex space-x-6",
|
|
1896
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
1897
|
+
label: t("neetoApprovals.buttons.approve"),
|
|
1898
|
+
onClick: function onClick() {
|
|
1899
|
+
return acceptPendingRequest({
|
|
1900
|
+
id: approvalRequest.id,
|
|
1901
|
+
note: note
|
|
1902
|
+
});
|
|
1903
|
+
},
|
|
1904
|
+
loading: isAccepting
|
|
1905
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
1906
|
+
label: t("neetoApprovals.buttons.decline"),
|
|
1907
|
+
onClick: function onClick() {
|
|
1908
|
+
return declinePendingRequest({
|
|
1909
|
+
id: approvalRequest.id,
|
|
1910
|
+
note: note
|
|
1911
|
+
});
|
|
1912
|
+
},
|
|
1913
|
+
style: "secondary",
|
|
1914
|
+
loading: isDeclining
|
|
1915
|
+
})]
|
|
1916
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(Callout__default["default"], {
|
|
1917
|
+
style: calloutStyle,
|
|
1918
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1919
|
+
style: "body1",
|
|
1920
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
1921
|
+
i18nKey: "neetoApprovals.typography.approvalRequest",
|
|
1922
|
+
values: {
|
|
1923
|
+
status: approvalRequest.status
|
|
1924
|
+
}
|
|
1925
|
+
})
|
|
1926
|
+
})
|
|
1927
|
+
})]
|
|
1928
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
1929
|
+
style: "h4",
|
|
1930
|
+
className: "text-center",
|
|
1931
|
+
children: t("neetoApprovals.common.notFound")
|
|
1932
|
+
})
|
|
1933
|
+
})
|
|
1934
|
+
})]
|
|
1935
|
+
});
|
|
1868
1936
|
};
|
|
1869
1937
|
|
|
1870
1938
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|