@bigbinary/neeto-approvals-frontend 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/index.cjs.js +328 -854
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +329 -855
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/translations/en.json +6 -11
- package/types.d.ts +13 -5
package/dist/index.js
CHANGED
|
@@ -2,26 +2,25 @@ import React, { useMemo, useState, useCallback, useEffect, useRef } from 'react'
|
|
|
2
2
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
3
3
|
import { useLocation, useHistory, Link, Switch, Route, Redirect, useParams } from 'react-router-dom';
|
|
4
4
|
import i18next, { t as t$1 } from 'i18next';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { useMutationWithInvalidation, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
9
|
-
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
5
|
+
import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
|
|
6
|
+
import { Button, Tag, Pane, Typography, Label, Textarea, Table as Table$1, NoData, Dropdown, Alert, Tab as Tab$1, Select as Select$1, Callout } from '@bigbinary/neetoui';
|
|
7
|
+
import { curryN, isNil, curry, complement, either, isEmpty, assoc, keys } from 'ramda';
|
|
8
|
+
import { useMutationWithInvalidation, useDebounce, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
10
9
|
import { useTranslation, Trans } from 'react-i18next';
|
|
11
|
-
import { isEmpty, curryN, isNil, complement, either, curry, fromPairs, assoc, keys, modify } from 'ramda';
|
|
12
10
|
import { useQuery, useQueryClient } from 'react-query';
|
|
13
11
|
import axios from 'axios';
|
|
14
|
-
import { Form as Form$3, Input, Textarea as Textarea$1, Select } from '@bigbinary/neetoui/formik';
|
|
15
|
-
import { MenuHorizontal, Delete } from '@bigbinary/neeto-icons';
|
|
16
|
-
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
17
12
|
import { dateFormat, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
|
|
18
13
|
import dayjs from 'dayjs';
|
|
19
14
|
import timezone from 'dayjs/plugin/timezone';
|
|
20
15
|
import utc from 'dayjs/plugin/utc';
|
|
21
16
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
22
|
-
import { EditorContent, isEditorEmpty, FormikEditor
|
|
23
|
-
import { removeBy } from '@bigbinary/neeto-commons-frontend/pure';
|
|
24
|
-
import
|
|
17
|
+
import { EditorContent, isEditorEmpty, FormikEditor } from '@bigbinary/neeto-editor';
|
|
18
|
+
import { removeBy, findById } from '@bigbinary/neeto-commons-frontend/pure';
|
|
19
|
+
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
20
|
+
import { Form as Form$2, Input, Textarea as Textarea$1, Select } from '@bigbinary/neetoui/formik';
|
|
21
|
+
import * as yup from 'yup';
|
|
22
|
+
import { MenuHorizontal } from '@bigbinary/neeto-icons';
|
|
23
|
+
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
25
24
|
import NeetoHeader from '@bigbinary/neeto-molecules/Header';
|
|
26
25
|
|
|
27
26
|
function _typeof$1(obj) {
|
|
@@ -120,12 +119,9 @@ function _slicedToArray$1(arr, i) {
|
|
|
120
119
|
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1();
|
|
121
120
|
}
|
|
122
121
|
|
|
123
|
-
var BASE_URL = "neeto_approvals";
|
|
124
|
-
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
125
122
|
var routes = {
|
|
126
123
|
home: "/",
|
|
127
124
|
approvals: "/approvals/",
|
|
128
|
-
approvers: "approvers",
|
|
129
125
|
pending: "pending",
|
|
130
126
|
history: "history",
|
|
131
127
|
templates: {
|
|
@@ -137,7 +133,6 @@ var routes = {
|
|
|
137
133
|
};
|
|
138
134
|
|
|
139
135
|
new URLSearchParams(window.location.search);
|
|
140
|
-
var DEFAULT_PAGE_SIZE = 8;
|
|
141
136
|
var DEFAULT_FILTER_VALUES = {
|
|
142
137
|
searchTerm: "",
|
|
143
138
|
sortBy: "",
|
|
@@ -158,575 +153,14 @@ var STATUS_TAG_STYLE = {
|
|
|
158
153
|
};
|
|
159
154
|
var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
|
|
160
155
|
message: "",
|
|
161
|
-
|
|
162
|
-
};
|
|
163
|
-
var APPROVAL_REQUEST_FORM_VALIDATION_SCHEMA = yup.object().shape({
|
|
164
|
-
variables: yup.array().of(yup.object().shape({
|
|
165
|
-
variable: yup.string().trim().required(t$1("neetoApprovals.validations.required", {
|
|
166
|
-
what: t$1("neetoApprovals.common.field")
|
|
167
|
-
}))
|
|
168
|
-
}))
|
|
169
|
-
});
|
|
156
|
+
additionalInfo: ""
|
|
157
|
+
};
|
|
170
158
|
var STATUS_UPDATED_BY = {
|
|
171
159
|
rejected: t$1("neetoApprovals.common.rejectedBy"),
|
|
172
160
|
approved: t$1("neetoApprovals.common.approvedBy"),
|
|
173
161
|
cancelled: t$1("neetoApprovals.common.cancelledBy")
|
|
174
162
|
};
|
|
175
163
|
|
|
176
|
-
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
|
|
177
|
-
if (isEmpty(data) && pageProperties.page !== 1) {
|
|
178
|
-
handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
var fetch$3 = function fetch(params) {
|
|
183
|
-
return axios.get("".concat(BASE_URL, "/approvers"), {
|
|
184
|
-
params: params
|
|
185
|
-
});
|
|
186
|
-
};
|
|
187
|
-
var create$1 = function create(payload) {
|
|
188
|
-
return axios.post("".concat(BASE_URL, "/approvers"), payload);
|
|
189
|
-
};
|
|
190
|
-
var update$2 = function update(_ref) {
|
|
191
|
-
var id = _ref.id,
|
|
192
|
-
payload = _ref.payload;
|
|
193
|
-
return axios.put("".concat(BASE_URL, "/approvers/").concat(id), {
|
|
194
|
-
approver: payload
|
|
195
|
-
});
|
|
196
|
-
};
|
|
197
|
-
var destroy$1 = function destroy(_ref2) {
|
|
198
|
-
var approverId = _ref2.approverId;
|
|
199
|
-
return axios["delete"]("".concat(BASE_URL, "/approvers/").concat(approverId));
|
|
200
|
-
};
|
|
201
|
-
var approversApi = {
|
|
202
|
-
create: create$1,
|
|
203
|
-
fetch: fetch$3,
|
|
204
|
-
update: update$2,
|
|
205
|
-
destroy: destroy$1
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
var QUERY_KEYS = {
|
|
209
|
-
APPROVERS: "neeto-approvals-approvers",
|
|
210
|
-
TEMPLATES: "neeto-approvals-templates",
|
|
211
|
-
REQUESTS: "neeto-approvals-requests",
|
|
212
|
-
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
213
|
-
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
214
|
-
VIEWS: "neeto-approvals-views"
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
218
|
-
function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
219
|
-
var useFetchApprovers = function useFetchApprovers() {
|
|
220
|
-
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
221
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
222
|
-
return useQuery([QUERY_KEYS.APPROVERS, params], function () {
|
|
223
|
-
return approversApi.fetch(params);
|
|
224
|
-
}, _objectSpread$c({
|
|
225
|
-
select: function select(response) {
|
|
226
|
-
return response.data || response;
|
|
227
|
-
},
|
|
228
|
-
keepPreviousData: true,
|
|
229
|
-
onSuccess: function onSuccess(_ref) {
|
|
230
|
-
var _params$onSuccess;
|
|
231
|
-
var approvers = _ref.approvers;
|
|
232
|
-
return params === null || params === void 0 ? void 0 : (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
233
|
-
}
|
|
234
|
-
}, options));
|
|
235
|
-
};
|
|
236
|
-
var useCreateApprover = function useCreateApprover(options) {
|
|
237
|
-
return useMutationWithInvalidation(approversApi.create, _objectSpread$c({
|
|
238
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS, QUERY_KEYS.VIEWS]
|
|
239
|
-
}, options));
|
|
240
|
-
};
|
|
241
|
-
var useUpdateApprover = function useUpdateApprover(options) {
|
|
242
|
-
return useMutationWithInvalidation(approversApi.update, _objectSpread$c({
|
|
243
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS]
|
|
244
|
-
}, options));
|
|
245
|
-
};
|
|
246
|
-
var useDeleteApprover = function useDeleteApprover(options) {
|
|
247
|
-
return useMutationWithInvalidation(approversApi.destroy, _objectSpread$c({
|
|
248
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS, QUERY_KEYS.VIEWS]
|
|
249
|
-
}, options));
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
var useUrlSearchParams = function useUrlSearchParams() {
|
|
253
|
-
var _useLocation = useLocation(),
|
|
254
|
-
search = _useLocation.search;
|
|
255
|
-
return useMemo(function () {
|
|
256
|
-
return new URLSearchParams(search);
|
|
257
|
-
}, [search]);
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
var usePaginate = function usePaginate() {
|
|
261
|
-
var urlParams = useUrlSearchParams();
|
|
262
|
-
var _useState = useState({
|
|
263
|
-
page: Number(urlParams.get("page")) || DEFAULT_PAGE_INDEX,
|
|
264
|
-
pageSize: Number(urlParams.get("size")) || DEFAULT_PAGE_SIZE
|
|
265
|
-
}),
|
|
266
|
-
_useState2 = _slicedToArray$1(_useState, 2),
|
|
267
|
-
pageProperties = _useState2[0],
|
|
268
|
-
setPageProperties = _useState2[1];
|
|
269
|
-
var history = useHistory();
|
|
270
|
-
var handleTablePagination = useCallback(function (page, pageSize) {
|
|
271
|
-
urlParams.set("page", page);
|
|
272
|
-
urlParams.set("size", pageSize);
|
|
273
|
-
history.push({
|
|
274
|
-
search: urlParams.toString()
|
|
275
|
-
});
|
|
276
|
-
setPageProperties({
|
|
277
|
-
page: page,
|
|
278
|
-
pageSize: pageSize
|
|
279
|
-
});
|
|
280
|
-
}, [urlParams, history]);
|
|
281
|
-
useEffect(function () {
|
|
282
|
-
var page = urlParams.get("page") || DEFAULT_PAGE_INDEX;
|
|
283
|
-
var pageSize = urlParams.get("size") || DEFAULT_PAGE_SIZE;
|
|
284
|
-
setPageProperties({
|
|
285
|
-
page: Number(page),
|
|
286
|
-
pageSize: Number(pageSize)
|
|
287
|
-
});
|
|
288
|
-
}, [urlParams]);
|
|
289
|
-
return {
|
|
290
|
-
pageProperties: pageProperties,
|
|
291
|
-
handleTablePagination: handleTablePagination
|
|
292
|
-
};
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
var _t$1, _t2;
|
|
296
|
-
var MAX_NAME_LENGTH = 40;
|
|
297
|
-
var APPROVER_FORM_INITIAL_VALUES = {
|
|
298
|
-
firstName: "",
|
|
299
|
-
lastName: "",
|
|
300
|
-
email: ""
|
|
301
|
-
};
|
|
302
|
-
var APPROVER_FORM_VALIDATION_SCHEMA = yup.object().shape({
|
|
303
|
-
firstName: yup.string().trim().max(MAX_NAME_LENGTH, t$1("neetoApprovals.validations.limitExceeded", {
|
|
304
|
-
what: (_t$1 = t$1("neetoApprovals.inputs.labels.firstName")) === null || _t$1 === void 0 ? void 0 : _t$1.toLocaleLowerCase(),
|
|
305
|
-
limit: MAX_NAME_LENGTH
|
|
306
|
-
})).required(t$1("neetoApprovals.validations.required", {
|
|
307
|
-
what: t$1("neetoApprovals.inputs.labels.firstName")
|
|
308
|
-
})),
|
|
309
|
-
lastName: yup.string().trim().max(MAX_NAME_LENGTH, t$1("neetoApprovals.validations.limitExceeded", {
|
|
310
|
-
what: (_t2 = t$1("neetoApprovals.inputs.labels.lastName")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase(),
|
|
311
|
-
limit: MAX_NAME_LENGTH
|
|
312
|
-
})).required(t$1("neetoApprovals.validations.required", {
|
|
313
|
-
what: t$1("neetoApprovals.inputs.labels.lastName")
|
|
314
|
-
})),
|
|
315
|
-
email: yup.string().email().required(t$1("neetoApprovals.validations.required", {
|
|
316
|
-
what: t$1("neetoApprovals.common.email")
|
|
317
|
-
}))
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
var Form$2 = function Form(_ref) {
|
|
321
|
-
var isOpen = _ref.isOpen,
|
|
322
|
-
onClose = _ref.onClose,
|
|
323
|
-
onSubmit = _ref.onSubmit,
|
|
324
|
-
_ref$initialData = _ref.initialData,
|
|
325
|
-
initialData = _ref$initialData === void 0 ? {} : _ref$initialData,
|
|
326
|
-
isLoading = _ref.isLoading;
|
|
327
|
-
var inputReference = useRef(null);
|
|
328
|
-
var _useTranslation = useTranslation(),
|
|
329
|
-
t = _useTranslation.t;
|
|
330
|
-
return /*#__PURE__*/React.createElement(Pane, {
|
|
331
|
-
initialFocusRef: inputReference,
|
|
332
|
-
isOpen: isOpen,
|
|
333
|
-
onClose: onClose
|
|
334
|
-
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
335
|
-
style: "h2"
|
|
336
|
-
}, isEmpty(initialData) ? t("neetoApprovals.typography.newApprover") : t("neetoApprovals.typography.editApprover"))), /*#__PURE__*/React.createElement(Form$3, {
|
|
337
|
-
formikProps: {
|
|
338
|
-
initialValues: initialData || APPROVER_FORM_INITIAL_VALUES,
|
|
339
|
-
validationSchema: APPROVER_FORM_VALIDATION_SCHEMA,
|
|
340
|
-
onSubmit: onSubmit
|
|
341
|
-
}
|
|
342
|
-
}, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
343
|
-
className: "w-full space-y-6"
|
|
344
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
345
|
-
required: true,
|
|
346
|
-
className: "w-full",
|
|
347
|
-
label: t("neetoApprovals.inputs.labels.firstName"),
|
|
348
|
-
name: "firstName",
|
|
349
|
-
placeholder: t("neetoApprovals.inputs.placeholders.firstName"),
|
|
350
|
-
ref: inputReference
|
|
351
|
-
}), /*#__PURE__*/React.createElement(Input, {
|
|
352
|
-
required: true,
|
|
353
|
-
className: "w-full",
|
|
354
|
-
label: t("neetoApprovals.inputs.labels.lastName"),
|
|
355
|
-
name: "lastName",
|
|
356
|
-
placeholder: t("neetoApprovals.inputs.placeholders.lastName")
|
|
357
|
-
}), /*#__PURE__*/React.createElement(Input, {
|
|
358
|
-
required: true,
|
|
359
|
-
className: "w-full",
|
|
360
|
-
label: t("neetoApprovals.common.email"),
|
|
361
|
-
name: "email",
|
|
362
|
-
placeholder: t("neetoApprovals.inputs.placeholders.email")
|
|
363
|
-
}))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
364
|
-
className: "flex gap-x-2"
|
|
365
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
366
|
-
label: t("neetoApprovals.buttons.saveChanges"),
|
|
367
|
-
loading: isLoading,
|
|
368
|
-
type: "submit"
|
|
369
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
370
|
-
label: t("neetoApprovals.buttons.cancel"),
|
|
371
|
-
style: "text",
|
|
372
|
-
onClick: onClose
|
|
373
|
-
})))));
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
var Create$1 = function Create(_ref) {
|
|
377
|
-
var isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
378
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
379
|
-
pageProperties = _ref.pageProperties,
|
|
380
|
-
handleTablePagination = _ref.handleTablePagination,
|
|
381
|
-
totalCount = _ref.totalCount;
|
|
382
|
-
var _useCreateApprover = useCreateApprover(),
|
|
383
|
-
createApprover = _useCreateApprover.mutate,
|
|
384
|
-
isLoading = _useCreateApprover.isLoading;
|
|
385
|
-
var getLastPageNumber = function getLastPageNumber() {
|
|
386
|
-
return Math.ceil((totalCount + 1) / pageProperties.pageSize);
|
|
387
|
-
};
|
|
388
|
-
var onSubmit = function onSubmit(approver) {
|
|
389
|
-
return createApprover({
|
|
390
|
-
approver: approver
|
|
391
|
-
}, {
|
|
392
|
-
onSuccess: function onSuccess() {
|
|
393
|
-
var lastPageNumber = getLastPageNumber();
|
|
394
|
-
lastPageNumber !== pageProperties.page && handleTablePagination(lastPageNumber, pageProperties.pageSize);
|
|
395
|
-
setIsNewApproverPaneOpen(false);
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
};
|
|
399
|
-
return /*#__PURE__*/React.createElement(Form$2, {
|
|
400
|
-
isLoading: isLoading,
|
|
401
|
-
onSubmit: onSubmit,
|
|
402
|
-
isOpen: isNewApproverPaneOpen,
|
|
403
|
-
onClose: function onClose() {
|
|
404
|
-
return setIsNewApproverPaneOpen(false);
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
};
|
|
408
|
-
var Create$2 = /*#__PURE__*/React.memo(Create$1);
|
|
409
|
-
|
|
410
|
-
var Edit$1 = function Edit(_ref) {
|
|
411
|
-
var approver = _ref.approver,
|
|
412
|
-
setApproverToEdit = _ref.setApproverToEdit;
|
|
413
|
-
var _useUpdateApprover = useUpdateApprover(),
|
|
414
|
-
updateApprover = _useUpdateApprover.mutate,
|
|
415
|
-
isLoading = _useUpdateApprover.isLoading;
|
|
416
|
-
var onSubmit = function onSubmit(_ref2) {
|
|
417
|
-
var firstName = _ref2.firstName,
|
|
418
|
-
lastName = _ref2.lastName,
|
|
419
|
-
email = _ref2.email;
|
|
420
|
-
return updateApprover({
|
|
421
|
-
id: approver.id,
|
|
422
|
-
payload: {
|
|
423
|
-
firstName: firstName,
|
|
424
|
-
lastName: lastName,
|
|
425
|
-
email: email
|
|
426
|
-
}
|
|
427
|
-
}, {
|
|
428
|
-
onSuccess: function onSuccess() {
|
|
429
|
-
return setApproverToEdit("");
|
|
430
|
-
}
|
|
431
|
-
});
|
|
432
|
-
};
|
|
433
|
-
return /*#__PURE__*/React.createElement(Form$2, {
|
|
434
|
-
initialData: approver,
|
|
435
|
-
isLoading: isLoading,
|
|
436
|
-
isOpen: !!approver,
|
|
437
|
-
onClose: function onClose() {
|
|
438
|
-
return setApproverToEdit("");
|
|
439
|
-
},
|
|
440
|
-
onSubmit: onSubmit
|
|
441
|
-
});
|
|
442
|
-
};
|
|
443
|
-
var Edit$2 = /*#__PURE__*/React.memo(Edit$1);
|
|
444
|
-
|
|
445
|
-
var Menu$1 = Dropdown.Menu,
|
|
446
|
-
MenuItem$1 = Dropdown.MenuItem;
|
|
447
|
-
var columnData$1 = function columnData(_ref) {
|
|
448
|
-
var onEditClick = _ref.onEditClick,
|
|
449
|
-
onDeleteClick = _ref.onDeleteClick;
|
|
450
|
-
return [{
|
|
451
|
-
dataIndex: "name",
|
|
452
|
-
key: "name",
|
|
453
|
-
sorter: true,
|
|
454
|
-
title: i18next.t("neetoApprovals.common.name")
|
|
455
|
-
}, {
|
|
456
|
-
dataIndex: "email",
|
|
457
|
-
key: "email",
|
|
458
|
-
sorter: true,
|
|
459
|
-
title: i18next.t("neetoApprovals.common.email")
|
|
460
|
-
}, {
|
|
461
|
-
key: "actions",
|
|
462
|
-
ellipsis: true,
|
|
463
|
-
render: function render(_, approver) {
|
|
464
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
465
|
-
className: "flex flex-row items-center justify-end space-x-3",
|
|
466
|
-
onClick: function onClick(event) {
|
|
467
|
-
return event.stopPropagation();
|
|
468
|
-
}
|
|
469
|
-
}, /*#__PURE__*/React.createElement(Dropdown, {
|
|
470
|
-
autoWidth: true,
|
|
471
|
-
buttonProps: {
|
|
472
|
-
style: "text"
|
|
473
|
-
},
|
|
474
|
-
className: "flex-shrink-0",
|
|
475
|
-
icon: MenuHorizontal,
|
|
476
|
-
position: "bottom-end",
|
|
477
|
-
strategy: "fixed"
|
|
478
|
-
}, /*#__PURE__*/React.createElement(Menu$1, null, /*#__PURE__*/React.createElement(MenuItem$1.Button, {
|
|
479
|
-
"data-cy": "approvers-edit-button",
|
|
480
|
-
onClick: function onClick() {
|
|
481
|
-
return onEditClick(approver);
|
|
482
|
-
}
|
|
483
|
-
}, i18next.t("neetoApprovals.common.edit")), /*#__PURE__*/React.createElement(MenuItem$1.Button, {
|
|
484
|
-
"data-cy": "approvers-delete-button",
|
|
485
|
-
onClick: function onClick() {
|
|
486
|
-
return onDeleteClick(approver);
|
|
487
|
-
}
|
|
488
|
-
}, i18next.t("neetoApprovals.common.delete")))));
|
|
489
|
-
}
|
|
490
|
-
}];
|
|
491
|
-
};
|
|
492
|
-
|
|
493
|
-
function _extends() {
|
|
494
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
495
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
496
|
-
var source = arguments[i];
|
|
497
|
-
for (var key in source) {
|
|
498
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
499
|
-
target[key] = source[key];
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
return target;
|
|
504
|
-
};
|
|
505
|
-
return _extends.apply(this, arguments);
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
509
|
-
if (source == null) return {};
|
|
510
|
-
var target = {};
|
|
511
|
-
var sourceKeys = Object.keys(source);
|
|
512
|
-
var key, i;
|
|
513
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
514
|
-
key = sourceKeys[i];
|
|
515
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
516
|
-
target[key] = source[key];
|
|
517
|
-
}
|
|
518
|
-
return target;
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
function _objectWithoutProperties(source, excluded) {
|
|
522
|
-
if (source == null) return {};
|
|
523
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
524
|
-
var key, i;
|
|
525
|
-
if (Object.getOwnPropertySymbols) {
|
|
526
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
527
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
528
|
-
key = sourceSymbolKeys[i];
|
|
529
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
530
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
531
|
-
target[key] = source[key];
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
return target;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
538
|
-
var entity = _ref.entity,
|
|
539
|
-
url = _ref.url;
|
|
540
|
-
return /*#__PURE__*/React.createElement(Trans, {
|
|
541
|
-
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
542
|
-
values: {
|
|
543
|
-
entity: entity
|
|
544
|
-
},
|
|
545
|
-
components: {
|
|
546
|
-
a: /*#__PURE__*/React.createElement(Link, {
|
|
547
|
-
className: "neeto-ui-text-primary-600 underline",
|
|
548
|
-
target: "_blank",
|
|
549
|
-
to: {
|
|
550
|
-
pathname: url
|
|
551
|
-
}
|
|
552
|
-
})
|
|
553
|
-
}
|
|
554
|
-
});
|
|
555
|
-
};
|
|
556
|
-
|
|
557
|
-
var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
|
|
558
|
-
function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
559
|
-
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
560
|
-
var Table = function Table(_ref) {
|
|
561
|
-
var _t;
|
|
562
|
-
var entity = _ref.entity,
|
|
563
|
-
columnData = _ref.columnData,
|
|
564
|
-
items = _ref.items,
|
|
565
|
-
totalCount = _ref.totalCount,
|
|
566
|
-
filters = _ref.filters,
|
|
567
|
-
setFilters = _ref.setFilters,
|
|
568
|
-
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
569
|
-
helpDocUrl = _ref.helpDocUrl,
|
|
570
|
-
onEditClick = _ref.onEditClick,
|
|
571
|
-
onDeleteClick = _ref.onDeleteClick,
|
|
572
|
-
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
573
|
-
var _usePaginate = usePaginate(),
|
|
574
|
-
pageProperties = _usePaginate.pageProperties,
|
|
575
|
-
handleTablePagination = _usePaginate.handleTablePagination;
|
|
576
|
-
var _useTranslation = useTranslation(),
|
|
577
|
-
t = _useTranslation.t;
|
|
578
|
-
var columns = columnData({
|
|
579
|
-
onEditClick: onEditClick,
|
|
580
|
-
onDeleteClick: onDeleteClick
|
|
581
|
-
});
|
|
582
|
-
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
583
|
-
setFilters(_objectSpread$b(_objectSpread$b({}, filters), {}, {
|
|
584
|
-
sortBy: sorter.field,
|
|
585
|
-
orderBy: sorter.order
|
|
586
|
-
}));
|
|
587
|
-
};
|
|
588
|
-
var noDataProps = {
|
|
589
|
-
primaryButtonProps: {
|
|
590
|
-
label: t("neetoApprovals.common.add_", {
|
|
591
|
-
what: (_t = t("neetoApprovals.common.template", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
592
|
-
}),
|
|
593
|
-
onClick: function onClick() {
|
|
594
|
-
return setIsPaneOpen(true);
|
|
595
|
-
}
|
|
596
|
-
},
|
|
597
|
-
helpText: renderNoDataHelpText({
|
|
598
|
-
entity: entity,
|
|
599
|
-
url: helpDocUrl
|
|
600
|
-
})
|
|
601
|
-
};
|
|
602
|
-
if (isEmpty(items)) {
|
|
603
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
604
|
-
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
605
|
-
}, /*#__PURE__*/React.createElement(NoData, _extends({
|
|
606
|
-
title: t("neetoApprovals.common.notFound_", {
|
|
607
|
-
what: entity
|
|
608
|
-
})
|
|
609
|
-
}, !filters.searchTerm && noDataProps)));
|
|
610
|
-
}
|
|
611
|
-
return /*#__PURE__*/React.createElement(TableWrapper, {
|
|
612
|
-
className: "mt-12",
|
|
613
|
-
hasPagination: totalCount > pageProperties.pageSize
|
|
614
|
-
}, /*#__PURE__*/React.createElement(Table$1, _extends({
|
|
615
|
-
fixedHeight: true,
|
|
616
|
-
columnData: columns,
|
|
617
|
-
currentPageNumber: pageProperties.page,
|
|
618
|
-
defaultPageSize: pageProperties.pageSize,
|
|
619
|
-
handlePageChange: handleTablePagination,
|
|
620
|
-
rowData: items,
|
|
621
|
-
paginationProps: {
|
|
622
|
-
hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < DEFAULT_PAGE_SIZE + 1
|
|
623
|
-
},
|
|
624
|
-
onChange: handleTableChange
|
|
625
|
-
}, _objectSpread$b({
|
|
626
|
-
totalCount: totalCount
|
|
627
|
-
}, otherProps))));
|
|
628
|
-
};
|
|
629
|
-
|
|
630
|
-
function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
631
|
-
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
632
|
-
var Approvers = function Approvers(_ref) {
|
|
633
|
-
var _t, _t2, _t3;
|
|
634
|
-
var filters = _ref.filters,
|
|
635
|
-
isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
636
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
637
|
-
helpDocUrl = _ref.helpDocUrl,
|
|
638
|
-
setFilters = _ref.setFilters;
|
|
639
|
-
var _useState = useState(""),
|
|
640
|
-
_useState2 = _slicedToArray$1(_useState, 2),
|
|
641
|
-
approverToEdit = _useState2[0],
|
|
642
|
-
setApproverToEdit = _useState2[1];
|
|
643
|
-
var _useState3 = useState(""),
|
|
644
|
-
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
645
|
-
approverToDelete = _useState4[0],
|
|
646
|
-
setApproverToDelete = _useState4[1];
|
|
647
|
-
var debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);
|
|
648
|
-
var _usePaginate = usePaginate(),
|
|
649
|
-
pageProperties = _usePaginate.pageProperties,
|
|
650
|
-
handleTablePagination = _usePaginate.handleTablePagination;
|
|
651
|
-
var _useTranslation = useTranslation(),
|
|
652
|
-
t = _useTranslation.t;
|
|
653
|
-
var _useFetchApprovers = useFetchApprovers(_objectSpread$a(_objectSpread$a(_objectSpread$a({}, pageProperties), filters), {}, {
|
|
654
|
-
searchTerm: debouncedSearchTerm.trim()
|
|
655
|
-
}), {
|
|
656
|
-
onSuccess: function onSuccess(approvers) {
|
|
657
|
-
handleEmptyPage(approvers, pageProperties, handleTablePagination);
|
|
658
|
-
}
|
|
659
|
-
}),
|
|
660
|
-
_useFetchApprovers$da = _useFetchApprovers.data,
|
|
661
|
-
_useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
|
|
662
|
-
_useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
|
|
663
|
-
approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3,
|
|
664
|
-
_useFetchApprovers$da4 = _useFetchApprovers$da2.totalCount,
|
|
665
|
-
totalCount = _useFetchApprovers$da4 === void 0 ? 0 : _useFetchApprovers$da4,
|
|
666
|
-
isApproverLoading = _useFetchApprovers.isLoading;
|
|
667
|
-
var _useDeleteApprover = useDeleteApprover(),
|
|
668
|
-
deleteApprover = _useDeleteApprover.mutate,
|
|
669
|
-
isDeleting = _useDeleteApprover.isLoading;
|
|
670
|
-
var onEditClick = function onEditClick(approver) {
|
|
671
|
-
var name = approver.name.split(" ");
|
|
672
|
-
setApproverToEdit(_objectSpread$a(_objectSpread$a({}, approver), {}, {
|
|
673
|
-
firstName: name[0],
|
|
674
|
-
lastName: name[1]
|
|
675
|
-
}));
|
|
676
|
-
};
|
|
677
|
-
var onDeleteClick = function onDeleteClick(approver) {
|
|
678
|
-
setApproverToDelete(approver);
|
|
679
|
-
};
|
|
680
|
-
var entity = (_t = t("neetoApprovals.common.approver", PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase();
|
|
681
|
-
var handleDelete = function handleDelete(approverId) {
|
|
682
|
-
deleteApprover({
|
|
683
|
-
approverId: approverId
|
|
684
|
-
});
|
|
685
|
-
setApproverToDelete("");
|
|
686
|
-
};
|
|
687
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, isApproverLoading ? /*#__PURE__*/React.createElement(PageLoader, null) : /*#__PURE__*/React.createElement(Table, {
|
|
688
|
-
items: approvers,
|
|
689
|
-
setIsPaneOpen: setIsNewApproverPaneOpen,
|
|
690
|
-
columnData: columnData$1,
|
|
691
|
-
entity: entity,
|
|
692
|
-
filters: filters,
|
|
693
|
-
helpDocUrl: helpDocUrl,
|
|
694
|
-
onDeleteClick: onDeleteClick,
|
|
695
|
-
onEditClick: onEditClick,
|
|
696
|
-
setFilters: setFilters,
|
|
697
|
-
totalCount: totalCount
|
|
698
|
-
}), /*#__PURE__*/React.createElement(Create$2, {
|
|
699
|
-
handleTablePagination: handleTablePagination,
|
|
700
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
701
|
-
pageProperties: pageProperties,
|
|
702
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen,
|
|
703
|
-
totalCount: totalCount
|
|
704
|
-
}), /*#__PURE__*/React.createElement(Edit$2, {
|
|
705
|
-
approver: approverToEdit,
|
|
706
|
-
setApproverToEdit: setApproverToEdit
|
|
707
|
-
}), /*#__PURE__*/React.createElement(Alert, {
|
|
708
|
-
isOpen: !!approverToDelete,
|
|
709
|
-
isSubmitting: isDeleting,
|
|
710
|
-
submitButtonLabel: t("neetoApprovals.buttons.delete"),
|
|
711
|
-
message: /*#__PURE__*/React.createElement(Trans, {
|
|
712
|
-
i18nKey: "neetoApprovals.alerts.deleting_",
|
|
713
|
-
values: {
|
|
714
|
-
what: (_t2 = t("neetoApprovals.common.approver", SINGULAR)) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase(),
|
|
715
|
-
name: approverToDelete === null || approverToDelete === void 0 ? void 0 : approverToDelete.name
|
|
716
|
-
}
|
|
717
|
-
}),
|
|
718
|
-
title: t("neetoApprovals.common.delete_", {
|
|
719
|
-
what: (_t3 = t("neetoApprovals.common.approver", SINGULAR)) === null || _t3 === void 0 ? void 0 : _t3.toLocaleLowerCase()
|
|
720
|
-
}),
|
|
721
|
-
onClose: function onClose() {
|
|
722
|
-
return setApproverToDelete("");
|
|
723
|
-
},
|
|
724
|
-
onSubmit: function onSubmit() {
|
|
725
|
-
return handleDelete(approverToDelete === null || approverToDelete === void 0 ? void 0 : approverToDelete.id);
|
|
726
|
-
}
|
|
727
|
-
}));
|
|
728
|
-
};
|
|
729
|
-
|
|
730
164
|
function _arrayWithHoles(arr) {
|
|
731
165
|
if (Array.isArray(arr)) return arr;
|
|
732
166
|
}
|
|
@@ -848,16 +282,20 @@ var filterNonNull = function filterNonNull(object) {
|
|
|
848
282
|
}));
|
|
849
283
|
};
|
|
850
284
|
nullSafe(filterNonNull);
|
|
851
|
-
var findById = /*#__PURE__*/curry(function (id, array) {
|
|
852
|
-
return array.find(function (item) {
|
|
853
|
-
return item.id === id;
|
|
854
|
-
});
|
|
855
|
-
});
|
|
856
285
|
var findBy = /*#__PURE__*/curry(function (pattern, array) {
|
|
857
286
|
return array.find(matches(pattern));
|
|
858
287
|
});
|
|
859
288
|
|
|
860
|
-
var
|
|
289
|
+
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
|
|
290
|
+
if (isEmpty(data) && pageProperties.page !== 1) {
|
|
291
|
+
handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
var BASE_URL = "neeto_approvals";
|
|
296
|
+
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
297
|
+
|
|
298
|
+
var fetch$3 = function fetch(params, url) {
|
|
861
299
|
return axios.get(url, {
|
|
862
300
|
params: params
|
|
863
301
|
});
|
|
@@ -870,12 +308,21 @@ var update$1 = function update(_ref) {
|
|
|
870
308
|
});
|
|
871
309
|
};
|
|
872
310
|
var requestsApi = {
|
|
873
|
-
fetch: fetch$
|
|
311
|
+
fetch: fetch$3,
|
|
874
312
|
update: update$1
|
|
875
313
|
};
|
|
876
314
|
|
|
877
|
-
|
|
878
|
-
|
|
315
|
+
var QUERY_KEYS = {
|
|
316
|
+
APPROVERS: "neeto-approvals-approvers",
|
|
317
|
+
TEMPLATES: "neeto-approvals-templates",
|
|
318
|
+
REQUESTS: "neeto-approvals-requests",
|
|
319
|
+
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
320
|
+
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
321
|
+
VIEWS: "neeto-approvals-views"
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
325
|
+
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
879
326
|
var useFetchRequests = function useFetchRequests(_ref) {
|
|
880
327
|
var requestUrl = _ref.requestUrl,
|
|
881
328
|
_ref$params = _ref.params,
|
|
@@ -884,7 +331,7 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
884
331
|
options = _ref$options === void 0 ? {} : _ref$options;
|
|
885
332
|
return useQuery([QUERY_KEYS.REQUESTS, params], function () {
|
|
886
333
|
return requestsApi.fetch(params, requestUrl);
|
|
887
|
-
}, _objectSpread$
|
|
334
|
+
}, _objectSpread$b({
|
|
888
335
|
select: function select(response) {
|
|
889
336
|
return response.data || response;
|
|
890
337
|
},
|
|
@@ -897,11 +344,54 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
897
344
|
}, options));
|
|
898
345
|
};
|
|
899
346
|
var useUpdateRequest = function useUpdateRequest(options) {
|
|
900
|
-
return useMutationWithInvalidation(requestsApi.update, _objectSpread$
|
|
347
|
+
return useMutationWithInvalidation(requestsApi.update, _objectSpread$b({
|
|
901
348
|
keysToInvalidate: [QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
902
349
|
}, options));
|
|
903
350
|
};
|
|
904
351
|
|
|
352
|
+
var useUrlSearchParams = function useUrlSearchParams() {
|
|
353
|
+
var _useLocation = useLocation(),
|
|
354
|
+
search = _useLocation.search;
|
|
355
|
+
return useMemo(function () {
|
|
356
|
+
return new URLSearchParams(search);
|
|
357
|
+
}, [search]);
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
var usePaginate = function usePaginate() {
|
|
361
|
+
var urlParams = useUrlSearchParams();
|
|
362
|
+
var _useState = useState({
|
|
363
|
+
page: Number(urlParams.get("page")) || DEFAULT_PAGE_INDEX,
|
|
364
|
+
pageSize: Number(urlParams.get("size")) || DEFAULT_PAGE_SIZE
|
|
365
|
+
}),
|
|
366
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
367
|
+
pageProperties = _useState2[0],
|
|
368
|
+
setPageProperties = _useState2[1];
|
|
369
|
+
var history = useHistory();
|
|
370
|
+
var handleTablePagination = useCallback(function (page, pageSize) {
|
|
371
|
+
urlParams.set("page", page);
|
|
372
|
+
urlParams.set("size", pageSize);
|
|
373
|
+
history.push({
|
|
374
|
+
search: urlParams.toString()
|
|
375
|
+
});
|
|
376
|
+
setPageProperties({
|
|
377
|
+
page: page,
|
|
378
|
+
pageSize: pageSize
|
|
379
|
+
});
|
|
380
|
+
}, [urlParams, history]);
|
|
381
|
+
useEffect(function () {
|
|
382
|
+
var page = urlParams.get("page") || DEFAULT_PAGE_INDEX;
|
|
383
|
+
var pageSize = urlParams.get("size") || DEFAULT_PAGE_SIZE;
|
|
384
|
+
setPageProperties({
|
|
385
|
+
page: Number(page),
|
|
386
|
+
pageSize: Number(pageSize)
|
|
387
|
+
});
|
|
388
|
+
}, [urlParams]);
|
|
389
|
+
return {
|
|
390
|
+
pageProperties: pageProperties,
|
|
391
|
+
handleTablePagination: handleTablePagination
|
|
392
|
+
};
|
|
393
|
+
};
|
|
394
|
+
|
|
905
395
|
dayjs.extend(utc);
|
|
906
396
|
dayjs.extend(timezone);
|
|
907
397
|
var updateApprovalDetails = function updateApprovalDetails(_ref) {
|
|
@@ -933,10 +423,6 @@ var getApprovalFilter = function getApprovalFilter() {
|
|
|
933
423
|
HISTORY: {
|
|
934
424
|
label: t$1("neetoApprovals.common.history"),
|
|
935
425
|
value: "HISTORY"
|
|
936
|
-
},
|
|
937
|
-
APPROVERS: {
|
|
938
|
-
label: t$1("neetoApprovals.common.approver", PLURAL),
|
|
939
|
-
value: "APPROVERS"
|
|
940
426
|
}
|
|
941
427
|
};
|
|
942
428
|
};
|
|
@@ -1003,6 +489,7 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1003
489
|
_approvalDetails$stat = approvalDetails.status,
|
|
1004
490
|
status = _approvalDetails$stat === void 0 ? "" : _approvalDetails$stat,
|
|
1005
491
|
message = approvalDetails.message,
|
|
492
|
+
additionalInfo = approvalDetails.additionalInfo,
|
|
1006
493
|
createdAt = approvalDetails.createdAt,
|
|
1007
494
|
approverName = approvalDetails.approverName,
|
|
1008
495
|
approverEmail = approvalDetails.approverEmail,
|
|
@@ -1062,6 +549,11 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1062
549
|
}, /*#__PURE__*/React.createElement(Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React.createElement(MemoizedEditorContent$1, {
|
|
1063
550
|
className: "neeto-ui-bg-gray-100 p-4",
|
|
1064
551
|
content: message
|
|
552
|
+
})), additionalInfo && /*#__PURE__*/React.createElement("div", {
|
|
553
|
+
className: "w-full space-y-2"
|
|
554
|
+
}, /*#__PURE__*/React.createElement(Label, null, t("neetoApprovals.inputs.labels.additionalInfo")), /*#__PURE__*/React.createElement(MemoizedEditorContent$1, {
|
|
555
|
+
className: "neeto-ui-bg-gray-100 p-4",
|
|
556
|
+
content: additionalInfo
|
|
1065
557
|
})), isPending && isCurrentUserApprover && /*#__PURE__*/React.createElement(Textarea, {
|
|
1066
558
|
className: "w-full",
|
|
1067
559
|
disabled: !isPending,
|
|
@@ -1094,8 +586,8 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1094
586
|
})));
|
|
1095
587
|
};
|
|
1096
588
|
|
|
1097
|
-
function ownKeys$
|
|
1098
|
-
function _objectSpread$
|
|
589
|
+
function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
590
|
+
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1099
591
|
var History = function History(_ref) {
|
|
1100
592
|
var _t;
|
|
1101
593
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1114,7 +606,7 @@ var History = function History(_ref) {
|
|
|
1114
606
|
var _useTranslation = useTranslation(),
|
|
1115
607
|
t = _useTranslation.t;
|
|
1116
608
|
var _useFetchRequests = useFetchRequests({
|
|
1117
|
-
params: _objectSpread$
|
|
609
|
+
params: _objectSpread$a(_objectSpread$a(_objectSpread$a({}, pageProperties), filters), {}, {
|
|
1118
610
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1119
611
|
status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
|
|
1120
612
|
}),
|
|
@@ -1138,7 +630,7 @@ var History = function History(_ref) {
|
|
|
1138
630
|
_useFetchRequests$dat4 = _useFetchRequests$dat2.totalCount,
|
|
1139
631
|
totalCount = _useFetchRequests$dat4 === void 0 ? 0 : _useFetchRequests$dat4;
|
|
1140
632
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1141
|
-
setFilters(_objectSpread$
|
|
633
|
+
setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
|
|
1142
634
|
sortBy: camelToSnakeCase(sorter.field),
|
|
1143
635
|
orderBy: sorter.order
|
|
1144
636
|
}));
|
|
@@ -1180,8 +672,8 @@ var PENDING_TABLE_COLUMNS = removeBy({
|
|
|
1180
672
|
key: "status"
|
|
1181
673
|
}, HISTORY_TABLE_COLUMNS);
|
|
1182
674
|
|
|
1183
|
-
function ownKeys$
|
|
1184
|
-
function _objectSpread$
|
|
675
|
+
function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
676
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1185
677
|
var PendingRequests = function PendingRequests(_ref) {
|
|
1186
678
|
var _t;
|
|
1187
679
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1200,7 +692,7 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1200
692
|
var _useTranslation = useTranslation(),
|
|
1201
693
|
t = _useTranslation.t;
|
|
1202
694
|
var _useFetchRequests = useFetchRequests({
|
|
1203
|
-
params: _objectSpread$
|
|
695
|
+
params: _objectSpread$9(_objectSpread$9(_objectSpread$9({}, pageProperties), filters), {}, {
|
|
1204
696
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1205
697
|
status: [STATUSES.pending]
|
|
1206
698
|
}),
|
|
@@ -1221,7 +713,7 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1221
713
|
updatePendingRequest = _useUpdateRequest.mutate,
|
|
1222
714
|
isLoading = _useUpdateRequest.isLoading;
|
|
1223
715
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1224
|
-
setFilters(_objectSpread$
|
|
716
|
+
setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
|
|
1225
717
|
sortBy: camelToSnakeCase(sorter.field),
|
|
1226
718
|
orderBy: sorter.order
|
|
1227
719
|
}));
|
|
@@ -1272,7 +764,51 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1272
764
|
}));
|
|
1273
765
|
};
|
|
1274
766
|
|
|
1275
|
-
|
|
767
|
+
function _extends() {
|
|
768
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
769
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
770
|
+
var source = arguments[i];
|
|
771
|
+
for (var key in source) {
|
|
772
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
773
|
+
target[key] = source[key];
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
return target;
|
|
778
|
+
};
|
|
779
|
+
return _extends.apply(this, arguments);
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
783
|
+
if (source == null) return {};
|
|
784
|
+
var target = {};
|
|
785
|
+
var sourceKeys = Object.keys(source);
|
|
786
|
+
var key, i;
|
|
787
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
788
|
+
key = sourceKeys[i];
|
|
789
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
790
|
+
target[key] = source[key];
|
|
791
|
+
}
|
|
792
|
+
return target;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
function _objectWithoutProperties(source, excluded) {
|
|
796
|
+
if (source == null) return {};
|
|
797
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
798
|
+
var key, i;
|
|
799
|
+
if (Object.getOwnPropertySymbols) {
|
|
800
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
801
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
802
|
+
key = sourceSymbolKeys[i];
|
|
803
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
804
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
805
|
+
target[key] = source[key];
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
return target;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
var fetch$2 = function fetch(params) {
|
|
1276
812
|
return axios.get(TEMPLATE_URL, {
|
|
1277
813
|
params: params
|
|
1278
814
|
});
|
|
@@ -1299,20 +835,20 @@ var destroy = function destroy(_ref3) {
|
|
|
1299
835
|
};
|
|
1300
836
|
var templatesApi = {
|
|
1301
837
|
create: create,
|
|
1302
|
-
fetch: fetch$
|
|
838
|
+
fetch: fetch$2,
|
|
1303
839
|
update: update,
|
|
1304
840
|
destroy: destroy,
|
|
1305
841
|
show: show$1
|
|
1306
842
|
};
|
|
1307
843
|
|
|
1308
|
-
function ownKeys$
|
|
1309
|
-
function _objectSpread$
|
|
844
|
+
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
845
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1310
846
|
var useFetchTemplates = function useFetchTemplates() {
|
|
1311
847
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1312
848
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1313
849
|
return useQuery([QUERY_KEYS.TEMPLATES, params], function () {
|
|
1314
850
|
return templatesApi.fetch(params);
|
|
1315
|
-
}, _objectSpread$
|
|
851
|
+
}, _objectSpread$8({
|
|
1316
852
|
select: function select(response) {
|
|
1317
853
|
return response.data || response;
|
|
1318
854
|
},
|
|
@@ -1325,12 +861,12 @@ var useFetchTemplates = function useFetchTemplates() {
|
|
|
1325
861
|
}, options));
|
|
1326
862
|
};
|
|
1327
863
|
var useCreateTemplate = function useCreateTemplate(options) {
|
|
1328
|
-
return useMutationWithInvalidation(templatesApi.create, _objectSpread$
|
|
864
|
+
return useMutationWithInvalidation(templatesApi.create, _objectSpread$8({
|
|
1329
865
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1330
866
|
}, options));
|
|
1331
867
|
};
|
|
1332
868
|
var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
1333
|
-
return useMutationWithInvalidation(templatesApi.update, _objectSpread$
|
|
869
|
+
return useMutationWithInvalidation(templatesApi.update, _objectSpread$8({
|
|
1334
870
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, function (_, _ref3) {
|
|
1335
871
|
var id = _ref3.id;
|
|
1336
872
|
return [QUERY_KEYS.SHOW_TEMPLATE, id];
|
|
@@ -1338,39 +874,44 @@ var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
|
1338
874
|
}, options));
|
|
1339
875
|
};
|
|
1340
876
|
var useDeleteTemplate = function useDeleteTemplate(options) {
|
|
1341
|
-
return useMutationWithInvalidation(templatesApi.destroy, _objectSpread$
|
|
877
|
+
return useMutationWithInvalidation(templatesApi.destroy, _objectSpread$8({
|
|
1342
878
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1343
879
|
}, options));
|
|
1344
880
|
};
|
|
1345
881
|
|
|
1346
|
-
function
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
function _nonIterableSpread() {
|
|
1355
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
function _toConsumableArray(arr) {
|
|
1359
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
|
|
1360
|
-
}
|
|
882
|
+
var fetch$1 = function fetch(params) {
|
|
883
|
+
return axios.get("".concat(BASE_URL, "/approvers"), {
|
|
884
|
+
params: params
|
|
885
|
+
});
|
|
886
|
+
};
|
|
887
|
+
var approversApi = {
|
|
888
|
+
fetch: fetch$1
|
|
889
|
+
};
|
|
1361
890
|
|
|
1362
|
-
var
|
|
1363
|
-
var
|
|
1364
|
-
var
|
|
1365
|
-
|
|
1366
|
-
|
|
891
|
+
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
892
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
893
|
+
var useFetchApprovers = function useFetchApprovers() {
|
|
894
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
895
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
896
|
+
return useQuery([QUERY_KEYS.APPROVERS, params], function () {
|
|
897
|
+
return approversApi.fetch(params);
|
|
898
|
+
}, _objectSpread$7({
|
|
899
|
+
select: function select(response) {
|
|
900
|
+
return response.data || response;
|
|
901
|
+
},
|
|
902
|
+
keepPreviousData: true,
|
|
903
|
+
onSuccess: function onSuccess(_ref) {
|
|
904
|
+
var _params$onSuccess;
|
|
905
|
+
var approvers = _ref.approvers;
|
|
906
|
+
return params === null || params === void 0 ? void 0 : (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
907
|
+
}
|
|
908
|
+
}, options));
|
|
1367
909
|
};
|
|
910
|
+
|
|
1368
911
|
var TEMPLATE_FORM_INITIAL_VALUES = {
|
|
1369
912
|
name: "",
|
|
1370
913
|
description: "",
|
|
1371
|
-
visibility: EVERYONE_VISIBILITY,
|
|
1372
914
|
approver: "",
|
|
1373
|
-
variables: [],
|
|
1374
915
|
message: ""
|
|
1375
916
|
};
|
|
1376
917
|
var TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object().shape({
|
|
@@ -1382,87 +923,27 @@ var TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object().shape({
|
|
|
1382
923
|
what: t$1("neetoApprovals.inputs.labels.message")
|
|
1383
924
|
}), function (content) {
|
|
1384
925
|
return !isEditorEmpty(content);
|
|
1385
|
-
})
|
|
1386
|
-
variables: yup.array().of(yup.object().shape({
|
|
1387
|
-
variable: yup.string().trim().required(t$1("neetoApprovals.validations.pleaseEnter_", {
|
|
1388
|
-
what: (_t = t$1("neetoApprovals.common.variable")) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1389
|
-
})).matches(VALID_VARIABLE_NAME_REGEX, t$1("neetoApprovals.validations.variableName"))
|
|
1390
|
-
}))
|
|
926
|
+
})
|
|
1391
927
|
});
|
|
1392
928
|
|
|
1393
|
-
var
|
|
1394
|
-
var
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
variables = _useFormikContext$val === void 0 ? [] : _useFormikContext$val;
|
|
1399
|
-
var editorVariables = variables.map(function (_ref, index) {
|
|
1400
|
-
var variable = _ref.variable;
|
|
1401
|
-
var variableValue = variable || "variable_".concat(index + 1);
|
|
1402
|
-
return {
|
|
1403
|
-
key: variableValue,
|
|
1404
|
-
label: variableValue
|
|
1405
|
-
};
|
|
1406
|
-
});
|
|
1407
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1408
|
-
className: "space-y-2 "
|
|
1409
|
-
}, /*#__PURE__*/React.createElement(Label, null, t("neetoApprovals.inputs.labels.variableMapping")), /*#__PURE__*/React.createElement(FieldArray, {
|
|
1410
|
-
name: "variables"
|
|
1411
|
-
}, function (_ref2) {
|
|
1412
|
-
var remove = _ref2.remove,
|
|
1413
|
-
push = _ref2.push;
|
|
1414
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1415
|
-
className: "neeto-ui-bg-gray-100 w-full p-3"
|
|
1416
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1417
|
-
className: "grid grid-cols-2 gap-4"
|
|
1418
|
-
}, variables === null || variables === void 0 ? void 0 : variables.map(function (_, index) {
|
|
1419
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1420
|
-
className: "mb-2 flex space-x-2",
|
|
1421
|
-
key: index
|
|
1422
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
1423
|
-
autoFocus: true,
|
|
1424
|
-
required: true,
|
|
1425
|
-
name: "variables[".concat(index, "][variable]"),
|
|
1426
|
-
label: t("neetoApprovals.common.variable_", {
|
|
1427
|
-
number: index + 1
|
|
1428
|
-
})
|
|
1429
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
1430
|
-
className: "my-5",
|
|
1431
|
-
icon: Delete,
|
|
1432
|
-
style: "text",
|
|
1433
|
-
onClick: function onClick() {
|
|
1434
|
-
return remove(index);
|
|
1435
|
-
}
|
|
1436
|
-
}));
|
|
1437
|
-
})), /*#__PURE__*/React.createElement(Button, {
|
|
1438
|
-
style: "link",
|
|
1439
|
-
label: t("neetoApprovals.common.add_", {
|
|
1440
|
-
what: t("neetoApprovals.common.variable")
|
|
1441
|
-
}),
|
|
1442
|
-
onClick: function onClick() {
|
|
1443
|
-
return push({
|
|
1444
|
-
variable: ""
|
|
1445
|
-
});
|
|
1446
|
-
}
|
|
1447
|
-
}));
|
|
1448
|
-
})), /*#__PURE__*/React.createElement(FormikEditor, {
|
|
929
|
+
var MessageEditor = withT(function (_ref) {
|
|
930
|
+
var t = _ref.t,
|
|
931
|
+
_ref$placeholders = _ref.placeholders,
|
|
932
|
+
placeholders = _ref$placeholders === void 0 ? [] : _ref$placeholders;
|
|
933
|
+
return /*#__PURE__*/React.createElement(FormikEditor, {
|
|
1449
934
|
required: true,
|
|
1450
|
-
key: variables,
|
|
1451
935
|
label: t("neetoApprovals.inputs.labels.message"),
|
|
1452
936
|
name: "message",
|
|
1453
937
|
rows: 3,
|
|
1454
|
-
variables:
|
|
938
|
+
variables: placeholders,
|
|
1455
939
|
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1456
940
|
what: t("neetoApprovals.inputs.labels.message")
|
|
1457
|
-
})
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
}
|
|
1461
|
-
}));
|
|
1462
|
-
};
|
|
941
|
+
})
|
|
942
|
+
});
|
|
943
|
+
});
|
|
1463
944
|
|
|
1464
945
|
var Form$1 = function Form(_ref) {
|
|
1465
|
-
var _t
|
|
946
|
+
var _t;
|
|
1466
947
|
var isOpen = _ref.isOpen,
|
|
1467
948
|
onClose = _ref.onClose,
|
|
1468
949
|
_ref$initialData = _ref.initialData,
|
|
@@ -1471,7 +952,7 @@ var Form$1 = function Form(_ref) {
|
|
|
1471
952
|
onSubmit = _ref$onSubmit === void 0 ? noop : _ref$onSubmit,
|
|
1472
953
|
_ref$isLoading = _ref.isLoading,
|
|
1473
954
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
1474
|
-
|
|
955
|
+
placeholders = _ref.placeholders;
|
|
1475
956
|
var inputReference = useRef(null);
|
|
1476
957
|
var _useTranslation = useTranslation(),
|
|
1477
958
|
t = _useTranslation.t;
|
|
@@ -1480,10 +961,10 @@ var Form$1 = function Form(_ref) {
|
|
|
1480
961
|
_useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
|
|
1481
962
|
_useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
|
|
1482
963
|
approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3;
|
|
1483
|
-
var header = isEmpty(initialData) ? t("neetoApprovals.common.
|
|
1484
|
-
what: t("neetoApprovals.common.
|
|
964
|
+
var header = isEmpty(initialData) ? t("neetoApprovals.common.addNew_", {
|
|
965
|
+
what: t("neetoApprovals.common.template", SINGULAR).toLocaleLowerCase()
|
|
1485
966
|
}) : t("neetoApprovals.common.edit_", {
|
|
1486
|
-
what: t("neetoApprovals.common.
|
|
967
|
+
what: t("neetoApprovals.common.template", SINGULAR).toLocaleLowerCase()
|
|
1487
968
|
});
|
|
1488
969
|
return /*#__PURE__*/React.createElement(Pane, {
|
|
1489
970
|
initialFocusRef: inputReference,
|
|
@@ -1492,7 +973,7 @@ var Form$1 = function Form(_ref) {
|
|
|
1492
973
|
onClose: onClose
|
|
1493
974
|
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
1494
975
|
style: "h2"
|
|
1495
|
-
}, header)), /*#__PURE__*/React.createElement(Form$
|
|
976
|
+
}, header)), /*#__PURE__*/React.createElement(Form$2, {
|
|
1496
977
|
formikProps: {
|
|
1497
978
|
enableReinitialize: true,
|
|
1498
979
|
initialValues: isPresent(initialData) ? initialData : TEMPLATE_FORM_INITIAL_VALUES,
|
|
@@ -1504,7 +985,6 @@ var Form$1 = function Form(_ref) {
|
|
|
1504
985
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
1505
986
|
autoFocus: true,
|
|
1506
987
|
required: true,
|
|
1507
|
-
className: "w-1/2",
|
|
1508
988
|
label: t("neetoApprovals.common.name"),
|
|
1509
989
|
name: "name",
|
|
1510
990
|
placeholder: t("neetoApprovals.inputs.placeholders.name")
|
|
@@ -1528,14 +1008,9 @@ var Form$1 = function Form(_ref) {
|
|
|
1528
1008
|
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1529
1009
|
what: (_t = t("neetoApprovals.common.approver", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1530
1010
|
})
|
|
1531
|
-
}), /*#__PURE__*/React.createElement(
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
options: [].concat(_toConsumableArray(visibilityOptions), [EVERYONE_VISIBILITY]),
|
|
1535
|
-
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1536
|
-
what: (_t2 = t("neetoApprovals.common.visibility")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase()
|
|
1537
|
-
})
|
|
1538
|
-
})), /*#__PURE__*/React.createElement(DynamicBlock, null))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
1011
|
+
})), /*#__PURE__*/React.createElement(MessageEditor, {
|
|
1012
|
+
placeholders: placeholders
|
|
1013
|
+
}))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
1539
1014
|
className: "flex gap-x-2"
|
|
1540
1015
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
1541
1016
|
label: t("neetoApprovals.buttons.saveChanges"),
|
|
@@ -1548,45 +1023,31 @@ var Form$1 = function Form(_ref) {
|
|
|
1548
1023
|
})))));
|
|
1549
1024
|
};
|
|
1550
1025
|
|
|
1551
|
-
function ownKeys$
|
|
1552
|
-
function _objectSpread$
|
|
1026
|
+
function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1027
|
+
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1553
1028
|
var buildTemplatePayload = function buildTemplatePayload(template) {
|
|
1554
|
-
var
|
|
1555
|
-
visibility = template.visibility,
|
|
1556
|
-
approver = template.approver;
|
|
1557
|
-
var indexedVariables = variables.map(function (_ref, index) {
|
|
1558
|
-
var variable = _ref.variable;
|
|
1559
|
-
return ["variable".concat(index + 1), variable];
|
|
1560
|
-
});
|
|
1029
|
+
var approver = template.approver;
|
|
1561
1030
|
var payload = {
|
|
1562
|
-
template: _objectSpread$
|
|
1563
|
-
|
|
1564
|
-
approverId: approver.value,
|
|
1565
|
-
variables: fromPairs(indexedVariables)
|
|
1031
|
+
template: _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1032
|
+
approverId: approver.value
|
|
1566
1033
|
})
|
|
1567
1034
|
};
|
|
1568
1035
|
return payload;
|
|
1569
1036
|
};
|
|
1570
1037
|
var generateInitialData = function generateInitialData(template) {
|
|
1571
|
-
return _objectSpread$
|
|
1572
|
-
visibility: template.accessibleId || EVERYONE_VISIBILITY.value,
|
|
1038
|
+
return _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1573
1039
|
approver: {
|
|
1574
1040
|
label: template.approverName,
|
|
1575
1041
|
value: template.approverId
|
|
1576
|
-
}
|
|
1577
|
-
variables: template.variables && Object.values(template.variables).map(function (variable) {
|
|
1578
|
-
return {
|
|
1579
|
-
variable: variable
|
|
1580
|
-
};
|
|
1581
|
-
})
|
|
1042
|
+
}
|
|
1582
1043
|
});
|
|
1583
1044
|
};
|
|
1584
1045
|
|
|
1585
1046
|
var Create = function Create(_ref) {
|
|
1586
|
-
var
|
|
1587
|
-
templateUrl = _ref.templateUrl,
|
|
1047
|
+
var templateUrl = _ref.templateUrl,
|
|
1588
1048
|
isOpen = _ref.isOpen,
|
|
1589
|
-
onClose = _ref.onClose
|
|
1049
|
+
onClose = _ref.onClose,
|
|
1050
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1590
1051
|
var _useCreateTemplate = useCreateTemplate(),
|
|
1591
1052
|
createTemplate = _useCreateTemplate.mutate,
|
|
1592
1053
|
isLoading = _useCreateTemplate.isLoading;
|
|
@@ -1600,21 +1061,21 @@ var Create = function Create(_ref) {
|
|
|
1600
1061
|
});
|
|
1601
1062
|
};
|
|
1602
1063
|
return /*#__PURE__*/React.createElement(Form$1, {
|
|
1064
|
+
placeholders: templatePlaceholders,
|
|
1603
1065
|
isLoading: isLoading,
|
|
1604
1066
|
isOpen: isOpen,
|
|
1605
1067
|
onClose: onClose,
|
|
1606
|
-
onSubmit: onSubmit
|
|
1607
|
-
visibilityOptions: visibilityOptions
|
|
1068
|
+
onSubmit: onSubmit
|
|
1608
1069
|
});
|
|
1609
1070
|
};
|
|
1610
1071
|
|
|
1611
1072
|
var Edit = function Edit(_ref) {
|
|
1612
|
-
var
|
|
1613
|
-
templateUrl = _ref.templateUrl,
|
|
1073
|
+
var templateUrl = _ref.templateUrl,
|
|
1614
1074
|
template = _ref.template,
|
|
1615
1075
|
setTemplate = _ref.setTemplate,
|
|
1616
1076
|
isOpen = _ref.isOpen,
|
|
1617
|
-
onClose = _ref.onClose
|
|
1077
|
+
onClose = _ref.onClose,
|
|
1078
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1618
1079
|
var _useUpdateTemplate = useUpdateTemplate({
|
|
1619
1080
|
onSuccess: function onSuccess() {
|
|
1620
1081
|
return setTemplate({});
|
|
@@ -1633,10 +1094,10 @@ var Edit = function Edit(_ref) {
|
|
|
1633
1094
|
return /*#__PURE__*/React.createElement(Form$1, {
|
|
1634
1095
|
initialData: generateInitialData(template),
|
|
1635
1096
|
isLoading: isUpdating,
|
|
1097
|
+
placeholders: templatePlaceholders,
|
|
1636
1098
|
isOpen: isOpen,
|
|
1637
1099
|
onClose: onClose,
|
|
1638
|
-
onSubmit: onSubmit
|
|
1639
|
-
visibilityOptions: visibilityOptions
|
|
1100
|
+
onSubmit: onSubmit
|
|
1640
1101
|
});
|
|
1641
1102
|
};
|
|
1642
1103
|
|
|
@@ -1655,7 +1116,6 @@ var Field$1 = /*#__PURE__*/React.memo(Field);
|
|
|
1655
1116
|
|
|
1656
1117
|
var MemoizedEditorContent = /*#__PURE__*/React.memo(EditorContent);
|
|
1657
1118
|
var TemplateDetails = function TemplateDetails(_ref) {
|
|
1658
|
-
var _Object$entries;
|
|
1659
1119
|
var isOpen = _ref.isOpen,
|
|
1660
1120
|
onClose = _ref.onClose,
|
|
1661
1121
|
template = _ref.template;
|
|
@@ -1664,8 +1124,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1664
1124
|
var name = template.name,
|
|
1665
1125
|
description = template.description,
|
|
1666
1126
|
approverName = template.approverName,
|
|
1667
|
-
accessible = template.accessible,
|
|
1668
|
-
variables = template.variables,
|
|
1669
1127
|
message = template.message;
|
|
1670
1128
|
return /*#__PURE__*/React.createElement(Pane, {
|
|
1671
1129
|
isOpen: isOpen,
|
|
@@ -1685,18 +1143,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1685
1143
|
}), /*#__PURE__*/React.createElement(Field$1, {
|
|
1686
1144
|
label: t("neetoApprovals.common.approver", SINGULAR),
|
|
1687
1145
|
value: approverName
|
|
1688
|
-
}), /*#__PURE__*/React.createElement(Field$1, {
|
|
1689
|
-
label: t("neetoApprovals.common.visibility"),
|
|
1690
|
-
value: (accessible === null || accessible === void 0 ? void 0 : accessible.label) || EVERYONE_VISIBILITY.label
|
|
1691
|
-
}), (_Object$entries = Object.entries(variables || {})) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (_ref2) {
|
|
1692
|
-
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
1693
|
-
variable = _ref3[0],
|
|
1694
|
-
value = _ref3[1];
|
|
1695
|
-
return /*#__PURE__*/React.createElement(Field$1, {
|
|
1696
|
-
key: value,
|
|
1697
|
-
label: capitalize(variable),
|
|
1698
|
-
value: value
|
|
1699
|
-
});
|
|
1700
1146
|
}), /*#__PURE__*/React.createElement("div", {
|
|
1701
1147
|
className: "flex w-full flex-col space-y-4"
|
|
1702
1148
|
}, /*#__PURE__*/React.createElement(Label, {
|
|
@@ -1718,13 +1164,9 @@ var columnData = function columnData(_ref) {
|
|
|
1718
1164
|
sorter: true,
|
|
1719
1165
|
title: i18next.t("neetoApprovals.common.name")
|
|
1720
1166
|
}, {
|
|
1721
|
-
dataIndex: "
|
|
1722
|
-
key: "
|
|
1723
|
-
title: i18next.t("neetoApprovals.common.
|
|
1724
|
-
render: function render(_, _ref2) {
|
|
1725
|
-
var accessible = _ref2.accessible;
|
|
1726
|
-
return (accessible === null || accessible === void 0 ? void 0 : accessible.label) || EVERYONE_VISIBILITY.label;
|
|
1727
|
-
}
|
|
1167
|
+
dataIndex: "approverName",
|
|
1168
|
+
key: "approverName",
|
|
1169
|
+
title: i18next.t("neetoApprovals.common.approver", SINGULAR)
|
|
1728
1170
|
}, {
|
|
1729
1171
|
key: "actions",
|
|
1730
1172
|
ellipsis: true,
|
|
@@ -1758,6 +1200,99 @@ var columnData = function columnData(_ref) {
|
|
|
1758
1200
|
}];
|
|
1759
1201
|
};
|
|
1760
1202
|
|
|
1203
|
+
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
1204
|
+
var entity = _ref.entity,
|
|
1205
|
+
url = _ref.url;
|
|
1206
|
+
return /*#__PURE__*/React.createElement(Trans, {
|
|
1207
|
+
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
1208
|
+
values: {
|
|
1209
|
+
entity: entity
|
|
1210
|
+
},
|
|
1211
|
+
components: {
|
|
1212
|
+
a: /*#__PURE__*/React.createElement(Link, {
|
|
1213
|
+
className: "neeto-ui-text-primary-600 underline",
|
|
1214
|
+
target: "_blank",
|
|
1215
|
+
to: {
|
|
1216
|
+
pathname: url
|
|
1217
|
+
}
|
|
1218
|
+
})
|
|
1219
|
+
}
|
|
1220
|
+
});
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
|
|
1224
|
+
function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1225
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1226
|
+
var Table = function Table(_ref) {
|
|
1227
|
+
var _t;
|
|
1228
|
+
var entity = _ref.entity,
|
|
1229
|
+
columnData = _ref.columnData,
|
|
1230
|
+
items = _ref.items,
|
|
1231
|
+
totalCount = _ref.totalCount,
|
|
1232
|
+
filters = _ref.filters,
|
|
1233
|
+
setFilters = _ref.setFilters,
|
|
1234
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
1235
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
1236
|
+
onEditClick = _ref.onEditClick,
|
|
1237
|
+
onDeleteClick = _ref.onDeleteClick,
|
|
1238
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
1239
|
+
var _usePaginate = usePaginate(),
|
|
1240
|
+
pageProperties = _usePaginate.pageProperties,
|
|
1241
|
+
handleTablePagination = _usePaginate.handleTablePagination;
|
|
1242
|
+
var _useTranslation = useTranslation(),
|
|
1243
|
+
t = _useTranslation.t;
|
|
1244
|
+
var columns = columnData({
|
|
1245
|
+
onEditClick: onEditClick,
|
|
1246
|
+
onDeleteClick: onDeleteClick
|
|
1247
|
+
});
|
|
1248
|
+
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1249
|
+
setFilters(_objectSpread$5(_objectSpread$5({}, filters), {}, {
|
|
1250
|
+
sortBy: sorter.field,
|
|
1251
|
+
orderBy: sorter.order
|
|
1252
|
+
}));
|
|
1253
|
+
};
|
|
1254
|
+
var noDataProps = {
|
|
1255
|
+
primaryButtonProps: {
|
|
1256
|
+
label: t("neetoApprovals.common.addNew_", {
|
|
1257
|
+
what: (_t = t("neetoApprovals.common.template", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1258
|
+
}),
|
|
1259
|
+
onClick: function onClick() {
|
|
1260
|
+
return setIsPaneOpen(true);
|
|
1261
|
+
}
|
|
1262
|
+
},
|
|
1263
|
+
helpText: renderNoDataHelpText({
|
|
1264
|
+
entity: entity,
|
|
1265
|
+
url: helpDocUrl
|
|
1266
|
+
})
|
|
1267
|
+
};
|
|
1268
|
+
if (isEmpty(items)) {
|
|
1269
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1270
|
+
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
1271
|
+
}, /*#__PURE__*/React.createElement(NoData, _extends({
|
|
1272
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
1273
|
+
what: entity
|
|
1274
|
+
})
|
|
1275
|
+
}, !filters.searchTerm && noDataProps)));
|
|
1276
|
+
}
|
|
1277
|
+
return /*#__PURE__*/React.createElement(TableWrapper, {
|
|
1278
|
+
className: "mt-12",
|
|
1279
|
+
hasPagination: totalCount > pageProperties.pageSize
|
|
1280
|
+
}, /*#__PURE__*/React.createElement(Table$1, _extends({
|
|
1281
|
+
fixedHeight: true,
|
|
1282
|
+
columnData: columns,
|
|
1283
|
+
currentPageNumber: pageProperties.page,
|
|
1284
|
+
defaultPageSize: pageProperties.pageSize,
|
|
1285
|
+
handlePageChange: handleTablePagination,
|
|
1286
|
+
rowData: items,
|
|
1287
|
+
paginationProps: {
|
|
1288
|
+
hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < DEFAULT_PAGE_SIZE + 1
|
|
1289
|
+
},
|
|
1290
|
+
onChange: handleTableChange
|
|
1291
|
+
}, _objectSpread$5({
|
|
1292
|
+
totalCount: totalCount
|
|
1293
|
+
}, otherProps))));
|
|
1294
|
+
};
|
|
1295
|
+
|
|
1761
1296
|
var _excluded = ["filters", "isNewTemplatePaneOpen", "setFilters", "setIsNewTemplatePaneOpen", "helpDocUrl"];
|
|
1762
1297
|
function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1763
1298
|
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1893,35 +1428,10 @@ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) {
|
|
|
1893
1428
|
var createRoutes = function createRoutes(_ref) {
|
|
1894
1429
|
var config = _ref.config,
|
|
1895
1430
|
filters = _ref.filters,
|
|
1896
|
-
isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
1897
1431
|
isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
|
|
1898
1432
|
setFilters = _ref.setFilters,
|
|
1899
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
1900
1433
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
|
|
1901
1434
|
return [{
|
|
1902
|
-
component: function component() {
|
|
1903
|
-
return /*#__PURE__*/React.createElement(Approvers, _objectSpread$3({
|
|
1904
|
-
filters: filters,
|
|
1905
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
1906
|
-
setFilters: setFilters,
|
|
1907
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen
|
|
1908
|
-
}, config));
|
|
1909
|
-
},
|
|
1910
|
-
path: "".concat(config.approvalsPath).concat(routes.approvers),
|
|
1911
|
-
actionBlock: function actionBlock() {
|
|
1912
|
-
return /*#__PURE__*/React.createElement(Button, {
|
|
1913
|
-
label: t$1("neetoApprovals.common.add_", {
|
|
1914
|
-
what: t$1("neetoApprovals.common.approver", SINGULAR).toLocaleLowerCase()
|
|
1915
|
-
}),
|
|
1916
|
-
onClick: function onClick() {
|
|
1917
|
-
return setIsNewApproverPaneOpen(true);
|
|
1918
|
-
}
|
|
1919
|
-
});
|
|
1920
|
-
},
|
|
1921
|
-
searchPlaceholder: t$1("neetoApprovals.inputs.placeholders.search_", {
|
|
1922
|
-
what: t$1("neetoApprovals.common.approver", PLURAL).toLocaleLowerCase()
|
|
1923
|
-
})
|
|
1924
|
-
}, {
|
|
1925
1435
|
component: function component() {
|
|
1926
1436
|
return /*#__PURE__*/React.createElement(Templates, _objectSpread$3({
|
|
1927
1437
|
filters: filters,
|
|
@@ -1932,9 +1442,10 @@ var createRoutes = function createRoutes(_ref) {
|
|
|
1932
1442
|
},
|
|
1933
1443
|
path: "".concat(config.approvalsPath).concat(routes.templates.index),
|
|
1934
1444
|
actionBlock: function actionBlock() {
|
|
1445
|
+
var _t;
|
|
1935
1446
|
return /*#__PURE__*/React.createElement(Button, {
|
|
1936
|
-
label: t$1("neetoApprovals.common.
|
|
1937
|
-
what: t$1("neetoApprovals.common.
|
|
1447
|
+
label: t$1("neetoApprovals.common.addNew_", {
|
|
1448
|
+
what: (_t = t$1("neetoApprovals.common.template", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1938
1449
|
}),
|
|
1939
1450
|
onClick: function onClick() {
|
|
1940
1451
|
return setIsNewTemplatePaneOpen(true);
|
|
@@ -2049,17 +1560,11 @@ var Approvals = function Approvals(_ref) {
|
|
|
2049
1560
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
2050
1561
|
isNewTemplatePaneOpen = _useState4[0],
|
|
2051
1562
|
setIsNewTemplatePaneOpen = _useState4[1];
|
|
2052
|
-
var _useState5 = useState(false),
|
|
2053
|
-
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
2054
|
-
isNewApproverPaneOpen = _useState6[0],
|
|
2055
|
-
setIsNewApproverPaneOpen = _useState6[1];
|
|
2056
1563
|
var appRoutes = createRoutes({
|
|
2057
1564
|
config: config,
|
|
2058
1565
|
filters: filters,
|
|
2059
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
2060
1566
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
2061
1567
|
setFilters: setFilters,
|
|
2062
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen,
|
|
2063
1568
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
2064
1569
|
});
|
|
2065
1570
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -2093,15 +1598,18 @@ var Form = function Form(_ref) {
|
|
|
2093
1598
|
var isOpen = _ref.isOpen,
|
|
2094
1599
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2095
1600
|
onSubmit = _ref.onSubmit,
|
|
2096
|
-
isLoading = _ref.isLoading
|
|
1601
|
+
isLoading = _ref.isLoading,
|
|
1602
|
+
_ref$requestableId = _ref.requestableId,
|
|
1603
|
+
requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId;
|
|
2097
1604
|
var _useState = useState({}),
|
|
2098
1605
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2099
1606
|
selectedTemplateData = _useState2[0],
|
|
2100
1607
|
setSelectedTemplateData = _useState2[1];
|
|
2101
1608
|
var _useTranslation = useTranslation(),
|
|
2102
1609
|
t = _useTranslation.t;
|
|
2103
|
-
var
|
|
2104
|
-
|
|
1610
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
1611
|
+
requestableId: requestableId
|
|
1612
|
+
}),
|
|
2105
1613
|
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
2106
1614
|
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
2107
1615
|
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
@@ -2116,37 +1624,14 @@ var Form = function Form(_ref) {
|
|
|
2116
1624
|
resetForm();
|
|
2117
1625
|
var template = findById(selectedTemplate.value, templates);
|
|
2118
1626
|
setSelectedTemplateData(template);
|
|
2119
|
-
setFieldValue("message", template.message);
|
|
2120
|
-
var variables = Object.values(template.variables);
|
|
2121
|
-
if (isPresent(variables)) {
|
|
2122
|
-
variables.forEach(function (_, index) {
|
|
2123
|
-
return setFieldValue("variables[".concat(index, "].variable"), "");
|
|
2124
|
-
});
|
|
2125
|
-
} else {
|
|
2126
|
-
setFieldValue("variables", []);
|
|
2127
|
-
}
|
|
1627
|
+
setFieldValue("message", template.parsedMessage || template.message);
|
|
2128
1628
|
};
|
|
2129
1629
|
var onClose = function onClose() {
|
|
2130
1630
|
setIsPaneOpen(false);
|
|
2131
1631
|
setSelectedTemplateData({});
|
|
2132
1632
|
};
|
|
2133
|
-
var parseVariables = function parseVariables(variableValues) {
|
|
2134
|
-
return variables.map(function (variable, index) {
|
|
2135
|
-
var _variableValues$index;
|
|
2136
|
-
return {
|
|
2137
|
-
key: variable,
|
|
2138
|
-
value: (_variableValues$index = variableValues[index]) === null || _variableValues$index === void 0 ? void 0 : _variableValues$index["variable"]
|
|
2139
|
-
};
|
|
2140
|
-
});
|
|
2141
|
-
};
|
|
2142
1633
|
var handleSubmit = function handleSubmit(values) {
|
|
2143
|
-
|
|
2144
|
-
var parsedMessage = {
|
|
2145
|
-
message: modify("message", function (message) {
|
|
2146
|
-
return substituteVariables(message, parsedVariables);
|
|
2147
|
-
}, values).message
|
|
2148
|
-
};
|
|
2149
|
-
onSubmit(parsedMessage, selectedTemplateData, onClose);
|
|
1634
|
+
return onSubmit(values, selectedTemplateData, onClose);
|
|
2150
1635
|
};
|
|
2151
1636
|
return /*#__PURE__*/React.createElement(Pane, {
|
|
2152
1637
|
isOpen: isOpen,
|
|
@@ -2155,15 +1640,14 @@ var Form = function Form(_ref) {
|
|
|
2155
1640
|
style: "h2"
|
|
2156
1641
|
}, t("neetoApprovals.common.add_", {
|
|
2157
1642
|
what: (_t = t("neetoApprovals.common.approval", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
2158
|
-
}))), /*#__PURE__*/React.createElement(Form$
|
|
1643
|
+
}))), /*#__PURE__*/React.createElement(Form$2, {
|
|
2159
1644
|
formikProps: {
|
|
2160
1645
|
onSubmit: handleSubmit,
|
|
2161
|
-
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2162
|
-
validationSchema: APPROVAL_REQUEST_FORM_VALIDATION_SCHEMA
|
|
1646
|
+
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2163
1647
|
}
|
|
2164
1648
|
}, function (_ref2) {
|
|
1649
|
+
var _t2;
|
|
2165
1650
|
var setFieldValue = _ref2.setFieldValue,
|
|
2166
|
-
values = _ref2.values,
|
|
2167
1651
|
resetForm = _ref2.resetForm,
|
|
2168
1652
|
dirty = _ref2.dirty;
|
|
2169
1653
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -2174,30 +1658,20 @@ var Form = function Form(_ref) {
|
|
|
2174
1658
|
onChange: function onChange(selectedTemplate) {
|
|
2175
1659
|
return handleTemplateChange(selectedTemplate, setFieldValue, resetForm);
|
|
2176
1660
|
}
|
|
2177
|
-
}),
|
|
2178
|
-
className: "space-y-2"
|
|
2179
|
-
}, /*#__PURE__*/React.createElement(Label, null, t("neetoApprovals.inputs.labels.variableMapping")), /*#__PURE__*/React.createElement("div", {
|
|
2180
|
-
className: "neeto-ui-bg-gray-100 neeto-ui-border-gray-300 neeto-ui-rounded-lg space-y-4 border p-3"
|
|
2181
|
-
}, /*#__PURE__*/React.createElement(FieldArray, {
|
|
2182
|
-
name: "variables"
|
|
2183
|
-
}, function () {
|
|
2184
|
-
return variables.map(function (variable, index) {
|
|
2185
|
-
return /*#__PURE__*/React.createElement(Input, {
|
|
2186
|
-
required: true,
|
|
2187
|
-
className: "w-full",
|
|
2188
|
-
key: variable,
|
|
2189
|
-
label: variable,
|
|
2190
|
-
name: "variables[".concat(index, "][variable]")
|
|
2191
|
-
});
|
|
2192
|
-
});
|
|
2193
|
-
}))), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/React.createElement("div", {
|
|
1661
|
+
}), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/React.createElement("div", {
|
|
2194
1662
|
className: "space-y-2"
|
|
2195
1663
|
}, /*#__PURE__*/React.createElement(Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React.createElement(EditorContent, {
|
|
2196
1664
|
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3",
|
|
2197
|
-
content: selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message,
|
|
2198
1665
|
name: "message",
|
|
2199
|
-
|
|
2200
|
-
}))
|
|
1666
|
+
content: (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.parsedMessage) || (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message)
|
|
1667
|
+
})), /*#__PURE__*/React.createElement(FormikEditor, {
|
|
1668
|
+
label: t("neetoApprovals.inputs.labels.additionalInfo"),
|
|
1669
|
+
name: "additionalInfo",
|
|
1670
|
+
rows: 3,
|
|
1671
|
+
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1672
|
+
what: (_t2 = t("neetoApprovals.inputs.labels.additionalInfo")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase()
|
|
1673
|
+
})
|
|
1674
|
+
}))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
2201
1675
|
className: "flex gap-x-2"
|
|
2202
1676
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
2203
1677
|
disabled: !dirty,
|