@bigbinary/neeto-approvals-frontend 0.2.7 → 0.2.9
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 +427 -957
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +429 -960
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
- package/src/translations/en.json +6 -11
- package/types.d.ts +13 -5
package/dist/index.cjs.js
CHANGED
|
@@ -6,18 +6,13 @@ var React = require('react');
|
|
|
6
6
|
var Container = require('@bigbinary/neeto-molecules/Container');
|
|
7
7
|
var reactRouterDom = require('react-router-dom');
|
|
8
8
|
var i18next = require('i18next');
|
|
9
|
-
var yup = require('yup');
|
|
10
9
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
11
10
|
var neetoui = require('@bigbinary/neetoui');
|
|
11
|
+
var ramda = require('ramda');
|
|
12
12
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
13
|
-
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
14
13
|
var reactI18next = require('react-i18next');
|
|
15
|
-
var ramda = require('ramda');
|
|
16
14
|
var reactQuery = require('react-query');
|
|
17
15
|
var axios = require('axios');
|
|
18
|
-
var formik = require('@bigbinary/neetoui/formik');
|
|
19
|
-
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
20
|
-
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
21
16
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
22
17
|
var dayjs = require('dayjs');
|
|
23
18
|
var timezone = require('dayjs/plugin/timezone');
|
|
@@ -25,7 +20,11 @@ var utc = require('dayjs/plugin/utc');
|
|
|
25
20
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
26
21
|
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
27
22
|
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
28
|
-
var
|
|
23
|
+
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
24
|
+
var formik = require('@bigbinary/neetoui/formik');
|
|
25
|
+
var yup = require('yup');
|
|
26
|
+
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
27
|
+
var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
|
|
29
28
|
var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
|
|
30
29
|
|
|
31
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -51,13 +50,14 @@ function _interopNamespace(e) {
|
|
|
51
50
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
52
51
|
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
|
|
53
52
|
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
54
|
-
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
55
|
-
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
56
53
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
57
|
-
var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
|
|
58
54
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
59
55
|
var timezone__default = /*#__PURE__*/_interopDefaultLegacy(timezone);
|
|
60
56
|
var utc__default = /*#__PURE__*/_interopDefaultLegacy(utc);
|
|
57
|
+
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
58
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
59
|
+
var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
|
|
60
|
+
var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
|
|
61
61
|
var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
|
|
62
62
|
|
|
63
63
|
function _typeof$1(obj) {
|
|
@@ -156,12 +156,9 @@ function _slicedToArray$1(arr, i) {
|
|
|
156
156
|
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1();
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
var BASE_URL = "neeto_approvals";
|
|
160
|
-
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
161
159
|
var routes = {
|
|
162
160
|
home: "/",
|
|
163
161
|
approvals: "/approvals/",
|
|
164
|
-
approvers: "approvers",
|
|
165
162
|
pending: "pending",
|
|
166
163
|
history: "history",
|
|
167
164
|
templates: {
|
|
@@ -172,597 +169,6 @@ var routes = {
|
|
|
172
169
|
"public": "approvals/public/request/:id"
|
|
173
170
|
};
|
|
174
171
|
|
|
175
|
-
new URLSearchParams(window.location.search);
|
|
176
|
-
var DEFAULT_PAGE_SIZE = 8;
|
|
177
|
-
var DEFAULT_FILTER_VALUES = {
|
|
178
|
-
searchTerm: "",
|
|
179
|
-
sortBy: "",
|
|
180
|
-
orderBy: ""
|
|
181
|
-
};
|
|
182
|
-
var SEARCH_DELAY = 750;
|
|
183
|
-
var STATUSES = {
|
|
184
|
-
approved: "approved",
|
|
185
|
-
rejected: "rejected",
|
|
186
|
-
pending: "pending",
|
|
187
|
-
cancelled: "cancelled"
|
|
188
|
-
};
|
|
189
|
-
var STATUS_TAG_STYLE = {
|
|
190
|
-
pending: "primary",
|
|
191
|
-
approved: "success",
|
|
192
|
-
rejected: "danger",
|
|
193
|
-
cancelled: "warning"
|
|
194
|
-
};
|
|
195
|
-
var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
|
|
196
|
-
message: "",
|
|
197
|
-
variables: []
|
|
198
|
-
};
|
|
199
|
-
var APPROVAL_REQUEST_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
200
|
-
variables: yup__namespace.array().of(yup__namespace.object().shape({
|
|
201
|
-
variable: yup__namespace.string().trim().required(i18next.t("neetoApprovals.validations.required", {
|
|
202
|
-
what: i18next.t("neetoApprovals.common.field")
|
|
203
|
-
}))
|
|
204
|
-
}))
|
|
205
|
-
});
|
|
206
|
-
var STATUS_UPDATED_BY = {
|
|
207
|
-
rejected: i18next.t("neetoApprovals.common.rejectedBy"),
|
|
208
|
-
approved: i18next.t("neetoApprovals.common.approvedBy"),
|
|
209
|
-
cancelled: i18next.t("neetoApprovals.common.cancelledBy")
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
|
|
213
|
-
if (ramda.isEmpty(data) && pageProperties.page !== 1) {
|
|
214
|
-
handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
var fetch$3 = function fetch(params) {
|
|
219
|
-
return axios__default["default"].get("".concat(BASE_URL, "/approvers"), {
|
|
220
|
-
params: params
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
|
-
var create$1 = function create(payload) {
|
|
224
|
-
return axios__default["default"].post("".concat(BASE_URL, "/approvers"), payload);
|
|
225
|
-
};
|
|
226
|
-
var update$2 = function update(_ref) {
|
|
227
|
-
var id = _ref.id,
|
|
228
|
-
payload = _ref.payload;
|
|
229
|
-
return axios__default["default"].put("".concat(BASE_URL, "/approvers/").concat(id), {
|
|
230
|
-
approver: payload
|
|
231
|
-
});
|
|
232
|
-
};
|
|
233
|
-
var destroy$1 = function destroy(_ref2) {
|
|
234
|
-
var approverId = _ref2.approverId;
|
|
235
|
-
return axios__default["default"]["delete"]("".concat(BASE_URL, "/approvers/").concat(approverId));
|
|
236
|
-
};
|
|
237
|
-
var approversApi = {
|
|
238
|
-
create: create$1,
|
|
239
|
-
fetch: fetch$3,
|
|
240
|
-
update: update$2,
|
|
241
|
-
destroy: destroy$1
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
var QUERY_KEYS = {
|
|
245
|
-
APPROVERS: "neeto-approvals-approvers",
|
|
246
|
-
TEMPLATES: "neeto-approvals-templates",
|
|
247
|
-
REQUESTS: "neeto-approvals-requests",
|
|
248
|
-
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
249
|
-
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
250
|
-
VIEWS: "neeto-approvals-views"
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
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; }
|
|
254
|
-
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; }
|
|
255
|
-
var useFetchApprovers = function useFetchApprovers() {
|
|
256
|
-
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
257
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
258
|
-
return reactQuery.useQuery([QUERY_KEYS.APPROVERS, params], function () {
|
|
259
|
-
return approversApi.fetch(params);
|
|
260
|
-
}, _objectSpread$c({
|
|
261
|
-
select: function select(response) {
|
|
262
|
-
return response.data || response;
|
|
263
|
-
},
|
|
264
|
-
keepPreviousData: true,
|
|
265
|
-
onSuccess: function onSuccess(_ref) {
|
|
266
|
-
var _params$onSuccess;
|
|
267
|
-
var approvers = _ref.approvers;
|
|
268
|
-
return params === null || params === void 0 ? void 0 : (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
269
|
-
}
|
|
270
|
-
}, options));
|
|
271
|
-
};
|
|
272
|
-
var useCreateApprover = function useCreateApprover(options) {
|
|
273
|
-
return reactUtils.useMutationWithInvalidation(approversApi.create, _objectSpread$c({
|
|
274
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS, QUERY_KEYS.VIEWS]
|
|
275
|
-
}, options));
|
|
276
|
-
};
|
|
277
|
-
var useUpdateApprover = function useUpdateApprover(options) {
|
|
278
|
-
return reactUtils.useMutationWithInvalidation(approversApi.update, _objectSpread$c({
|
|
279
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS]
|
|
280
|
-
}, options));
|
|
281
|
-
};
|
|
282
|
-
var useDeleteApprover = function useDeleteApprover(options) {
|
|
283
|
-
return reactUtils.useMutationWithInvalidation(approversApi.destroy, _objectSpread$c({
|
|
284
|
-
keysToInvalidate: [QUERY_KEYS.APPROVERS, QUERY_KEYS.VIEWS]
|
|
285
|
-
}, options));
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
var useUrlSearchParams = function useUrlSearchParams() {
|
|
289
|
-
var _useLocation = reactRouterDom.useLocation(),
|
|
290
|
-
search = _useLocation.search;
|
|
291
|
-
return React.useMemo(function () {
|
|
292
|
-
return new URLSearchParams(search);
|
|
293
|
-
}, [search]);
|
|
294
|
-
};
|
|
295
|
-
|
|
296
|
-
var usePaginate = function usePaginate() {
|
|
297
|
-
var urlParams = useUrlSearchParams();
|
|
298
|
-
var _useState = React.useState({
|
|
299
|
-
page: Number(urlParams.get("page")) || constants.DEFAULT_PAGE_INDEX,
|
|
300
|
-
pageSize: Number(urlParams.get("size")) || DEFAULT_PAGE_SIZE
|
|
301
|
-
}),
|
|
302
|
-
_useState2 = _slicedToArray$1(_useState, 2),
|
|
303
|
-
pageProperties = _useState2[0],
|
|
304
|
-
setPageProperties = _useState2[1];
|
|
305
|
-
var history = reactRouterDom.useHistory();
|
|
306
|
-
var handleTablePagination = React.useCallback(function (page, pageSize) {
|
|
307
|
-
urlParams.set("page", page);
|
|
308
|
-
urlParams.set("size", pageSize);
|
|
309
|
-
history.push({
|
|
310
|
-
search: urlParams.toString()
|
|
311
|
-
});
|
|
312
|
-
setPageProperties({
|
|
313
|
-
page: page,
|
|
314
|
-
pageSize: pageSize
|
|
315
|
-
});
|
|
316
|
-
}, [urlParams, history]);
|
|
317
|
-
React.useEffect(function () {
|
|
318
|
-
var page = urlParams.get("page") || constants.DEFAULT_PAGE_INDEX;
|
|
319
|
-
var pageSize = urlParams.get("size") || DEFAULT_PAGE_SIZE;
|
|
320
|
-
setPageProperties({
|
|
321
|
-
page: Number(page),
|
|
322
|
-
pageSize: Number(pageSize)
|
|
323
|
-
});
|
|
324
|
-
}, [urlParams]);
|
|
325
|
-
return {
|
|
326
|
-
pageProperties: pageProperties,
|
|
327
|
-
handleTablePagination: handleTablePagination
|
|
328
|
-
};
|
|
329
|
-
};
|
|
330
|
-
|
|
331
|
-
var _t$1, _t2;
|
|
332
|
-
var MAX_NAME_LENGTH = 40;
|
|
333
|
-
var APPROVER_FORM_INITIAL_VALUES = {
|
|
334
|
-
firstName: "",
|
|
335
|
-
lastName: "",
|
|
336
|
-
email: ""
|
|
337
|
-
};
|
|
338
|
-
var APPROVER_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
339
|
-
firstName: yup__namespace.string().trim().max(MAX_NAME_LENGTH, i18next.t("neetoApprovals.validations.limitExceeded", {
|
|
340
|
-
what: (_t$1 = i18next.t("neetoApprovals.inputs.labels.firstName")) === null || _t$1 === void 0 ? void 0 : _t$1.toLocaleLowerCase(),
|
|
341
|
-
limit: MAX_NAME_LENGTH
|
|
342
|
-
})).required(i18next.t("neetoApprovals.validations.required", {
|
|
343
|
-
what: i18next.t("neetoApprovals.inputs.labels.firstName")
|
|
344
|
-
})),
|
|
345
|
-
lastName: yup__namespace.string().trim().max(MAX_NAME_LENGTH, i18next.t("neetoApprovals.validations.limitExceeded", {
|
|
346
|
-
what: (_t2 = i18next.t("neetoApprovals.inputs.labels.lastName")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase(),
|
|
347
|
-
limit: MAX_NAME_LENGTH
|
|
348
|
-
})).required(i18next.t("neetoApprovals.validations.required", {
|
|
349
|
-
what: i18next.t("neetoApprovals.inputs.labels.lastName")
|
|
350
|
-
})),
|
|
351
|
-
email: yup__namespace.string().email().required(i18next.t("neetoApprovals.validations.required", {
|
|
352
|
-
what: i18next.t("neetoApprovals.common.email")
|
|
353
|
-
}))
|
|
354
|
-
});
|
|
355
|
-
|
|
356
|
-
var Form$2 = function Form(_ref) {
|
|
357
|
-
var isOpen = _ref.isOpen,
|
|
358
|
-
onClose = _ref.onClose,
|
|
359
|
-
onSubmit = _ref.onSubmit,
|
|
360
|
-
_ref$initialData = _ref.initialData,
|
|
361
|
-
initialData = _ref$initialData === void 0 ? {} : _ref$initialData,
|
|
362
|
-
isLoading = _ref.isLoading;
|
|
363
|
-
var inputReference = React.useRef(null);
|
|
364
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
365
|
-
t = _useTranslation.t;
|
|
366
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
367
|
-
initialFocusRef: inputReference,
|
|
368
|
-
isOpen: isOpen,
|
|
369
|
-
onClose: onClose
|
|
370
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
371
|
-
style: "h2"
|
|
372
|
-
}, ramda.isEmpty(initialData) ? t("neetoApprovals.typography.newApprover") : t("neetoApprovals.typography.editApprover"))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
373
|
-
formikProps: {
|
|
374
|
-
initialValues: initialData || APPROVER_FORM_INITIAL_VALUES,
|
|
375
|
-
validationSchema: APPROVER_FORM_VALIDATION_SCHEMA,
|
|
376
|
-
onSubmit: onSubmit
|
|
377
|
-
}
|
|
378
|
-
}, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
379
|
-
className: "w-full space-y-6"
|
|
380
|
-
}, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
381
|
-
required: true,
|
|
382
|
-
className: "w-full",
|
|
383
|
-
label: t("neetoApprovals.inputs.labels.firstName"),
|
|
384
|
-
name: "firstName",
|
|
385
|
-
placeholder: t("neetoApprovals.inputs.placeholders.firstName"),
|
|
386
|
-
ref: inputReference
|
|
387
|
-
}), /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
388
|
-
required: true,
|
|
389
|
-
className: "w-full",
|
|
390
|
-
label: t("neetoApprovals.inputs.labels.lastName"),
|
|
391
|
-
name: "lastName",
|
|
392
|
-
placeholder: t("neetoApprovals.inputs.placeholders.lastName")
|
|
393
|
-
}), /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
394
|
-
required: true,
|
|
395
|
-
className: "w-full",
|
|
396
|
-
label: t("neetoApprovals.common.email"),
|
|
397
|
-
name: "email",
|
|
398
|
-
placeholder: t("neetoApprovals.inputs.placeholders.email")
|
|
399
|
-
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
400
|
-
className: "flex gap-x-2"
|
|
401
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
402
|
-
label: t("neetoApprovals.buttons.saveChanges"),
|
|
403
|
-
loading: isLoading,
|
|
404
|
-
type: "submit"
|
|
405
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
406
|
-
label: t("neetoApprovals.buttons.cancel"),
|
|
407
|
-
style: "text",
|
|
408
|
-
onClick: onClose
|
|
409
|
-
})))));
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
var Create$1 = function Create(_ref) {
|
|
413
|
-
var isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
414
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
415
|
-
pageProperties = _ref.pageProperties,
|
|
416
|
-
handleTablePagination = _ref.handleTablePagination,
|
|
417
|
-
totalCount = _ref.totalCount;
|
|
418
|
-
var _useCreateApprover = useCreateApprover(),
|
|
419
|
-
createApprover = _useCreateApprover.mutate,
|
|
420
|
-
isLoading = _useCreateApprover.isLoading;
|
|
421
|
-
var getLastPageNumber = function getLastPageNumber() {
|
|
422
|
-
return Math.ceil((totalCount + 1) / pageProperties.pageSize);
|
|
423
|
-
};
|
|
424
|
-
var onSubmit = function onSubmit(approver) {
|
|
425
|
-
return createApprover({
|
|
426
|
-
approver: approver
|
|
427
|
-
}, {
|
|
428
|
-
onSuccess: function onSuccess() {
|
|
429
|
-
var lastPageNumber = getLastPageNumber();
|
|
430
|
-
lastPageNumber !== pageProperties.page && handleTablePagination(lastPageNumber, pageProperties.pageSize);
|
|
431
|
-
setIsNewApproverPaneOpen(false);
|
|
432
|
-
}
|
|
433
|
-
});
|
|
434
|
-
};
|
|
435
|
-
return /*#__PURE__*/React__default["default"].createElement(Form$2, {
|
|
436
|
-
isLoading: isLoading,
|
|
437
|
-
onSubmit: onSubmit,
|
|
438
|
-
isOpen: isNewApproverPaneOpen,
|
|
439
|
-
onClose: function onClose() {
|
|
440
|
-
return setIsNewApproverPaneOpen(false);
|
|
441
|
-
}
|
|
442
|
-
});
|
|
443
|
-
};
|
|
444
|
-
var Create$2 = /*#__PURE__*/React__default["default"].memo(Create$1);
|
|
445
|
-
|
|
446
|
-
var Edit$1 = function Edit(_ref) {
|
|
447
|
-
var approver = _ref.approver,
|
|
448
|
-
setApproverToEdit = _ref.setApproverToEdit;
|
|
449
|
-
var _useUpdateApprover = useUpdateApprover(),
|
|
450
|
-
updateApprover = _useUpdateApprover.mutate,
|
|
451
|
-
isLoading = _useUpdateApprover.isLoading;
|
|
452
|
-
var onSubmit = function onSubmit(_ref2) {
|
|
453
|
-
var firstName = _ref2.firstName,
|
|
454
|
-
lastName = _ref2.lastName,
|
|
455
|
-
email = _ref2.email;
|
|
456
|
-
return updateApprover({
|
|
457
|
-
id: approver.id,
|
|
458
|
-
payload: {
|
|
459
|
-
firstName: firstName,
|
|
460
|
-
lastName: lastName,
|
|
461
|
-
email: email
|
|
462
|
-
}
|
|
463
|
-
}, {
|
|
464
|
-
onSuccess: function onSuccess() {
|
|
465
|
-
return setApproverToEdit("");
|
|
466
|
-
}
|
|
467
|
-
});
|
|
468
|
-
};
|
|
469
|
-
return /*#__PURE__*/React__default["default"].createElement(Form$2, {
|
|
470
|
-
initialData: approver,
|
|
471
|
-
isLoading: isLoading,
|
|
472
|
-
isOpen: !!approver,
|
|
473
|
-
onClose: function onClose() {
|
|
474
|
-
return setApproverToEdit("");
|
|
475
|
-
},
|
|
476
|
-
onSubmit: onSubmit
|
|
477
|
-
});
|
|
478
|
-
};
|
|
479
|
-
var Edit$2 = /*#__PURE__*/React__default["default"].memo(Edit$1);
|
|
480
|
-
|
|
481
|
-
var Menu$1 = neetoui.Dropdown.Menu,
|
|
482
|
-
MenuItem$1 = neetoui.Dropdown.MenuItem;
|
|
483
|
-
var columnData$1 = function columnData(_ref) {
|
|
484
|
-
var onEditClick = _ref.onEditClick,
|
|
485
|
-
onDeleteClick = _ref.onDeleteClick;
|
|
486
|
-
return [{
|
|
487
|
-
dataIndex: "name",
|
|
488
|
-
key: "name",
|
|
489
|
-
sorter: true,
|
|
490
|
-
title: i18next__default["default"].t("neetoApprovals.common.name")
|
|
491
|
-
}, {
|
|
492
|
-
dataIndex: "email",
|
|
493
|
-
key: "email",
|
|
494
|
-
sorter: true,
|
|
495
|
-
title: i18next__default["default"].t("neetoApprovals.common.email")
|
|
496
|
-
}, {
|
|
497
|
-
key: "actions",
|
|
498
|
-
ellipsis: true,
|
|
499
|
-
render: function render(_, approver) {
|
|
500
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
501
|
-
className: "flex flex-row items-center justify-end space-x-3",
|
|
502
|
-
onClick: function onClick(event) {
|
|
503
|
-
return event.stopPropagation();
|
|
504
|
-
}
|
|
505
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
506
|
-
autoWidth: true,
|
|
507
|
-
buttonProps: {
|
|
508
|
-
style: "text"
|
|
509
|
-
},
|
|
510
|
-
className: "flex-shrink-0",
|
|
511
|
-
icon: neetoIcons.MenuHorizontal,
|
|
512
|
-
position: "bottom-end",
|
|
513
|
-
strategy: "fixed"
|
|
514
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu$1, null, /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, {
|
|
515
|
-
"data-cy": "approvers-edit-button",
|
|
516
|
-
onClick: function onClick() {
|
|
517
|
-
return onEditClick(approver);
|
|
518
|
-
}
|
|
519
|
-
}, i18next__default["default"].t("neetoApprovals.common.edit")), /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, {
|
|
520
|
-
"data-cy": "approvers-delete-button",
|
|
521
|
-
onClick: function onClick() {
|
|
522
|
-
return onDeleteClick(approver);
|
|
523
|
-
}
|
|
524
|
-
}, i18next__default["default"].t("neetoApprovals.common.delete")))));
|
|
525
|
-
}
|
|
526
|
-
}];
|
|
527
|
-
};
|
|
528
|
-
|
|
529
|
-
function _extends() {
|
|
530
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
531
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
532
|
-
var source = arguments[i];
|
|
533
|
-
for (var key in source) {
|
|
534
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
535
|
-
target[key] = source[key];
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
return target;
|
|
540
|
-
};
|
|
541
|
-
return _extends.apply(this, arguments);
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
545
|
-
if (source == null) return {};
|
|
546
|
-
var target = {};
|
|
547
|
-
var sourceKeys = Object.keys(source);
|
|
548
|
-
var key, i;
|
|
549
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
550
|
-
key = sourceKeys[i];
|
|
551
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
552
|
-
target[key] = source[key];
|
|
553
|
-
}
|
|
554
|
-
return target;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
function _objectWithoutProperties(source, excluded) {
|
|
558
|
-
if (source == null) return {};
|
|
559
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
560
|
-
var key, i;
|
|
561
|
-
if (Object.getOwnPropertySymbols) {
|
|
562
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
563
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
564
|
-
key = sourceSymbolKeys[i];
|
|
565
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
566
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
567
|
-
target[key] = source[key];
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
return target;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
574
|
-
var entity = _ref.entity,
|
|
575
|
-
url = _ref.url;
|
|
576
|
-
return /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
577
|
-
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
578
|
-
values: {
|
|
579
|
-
entity: entity
|
|
580
|
-
},
|
|
581
|
-
components: {
|
|
582
|
-
a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
583
|
-
className: "neeto-ui-text-primary-600 underline",
|
|
584
|
-
target: "_blank",
|
|
585
|
-
to: {
|
|
586
|
-
pathname: url
|
|
587
|
-
}
|
|
588
|
-
})
|
|
589
|
-
}
|
|
590
|
-
});
|
|
591
|
-
};
|
|
592
|
-
|
|
593
|
-
var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
|
|
594
|
-
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; }
|
|
595
|
-
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; }
|
|
596
|
-
var Table = function Table(_ref) {
|
|
597
|
-
var _t;
|
|
598
|
-
var entity = _ref.entity,
|
|
599
|
-
columnData = _ref.columnData,
|
|
600
|
-
items = _ref.items,
|
|
601
|
-
totalCount = _ref.totalCount,
|
|
602
|
-
filters = _ref.filters,
|
|
603
|
-
setFilters = _ref.setFilters,
|
|
604
|
-
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
605
|
-
helpDocUrl = _ref.helpDocUrl,
|
|
606
|
-
onEditClick = _ref.onEditClick,
|
|
607
|
-
onDeleteClick = _ref.onDeleteClick,
|
|
608
|
-
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
609
|
-
var _usePaginate = usePaginate(),
|
|
610
|
-
pageProperties = _usePaginate.pageProperties,
|
|
611
|
-
handleTablePagination = _usePaginate.handleTablePagination;
|
|
612
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
613
|
-
t = _useTranslation.t;
|
|
614
|
-
var columns = columnData({
|
|
615
|
-
onEditClick: onEditClick,
|
|
616
|
-
onDeleteClick: onDeleteClick
|
|
617
|
-
});
|
|
618
|
-
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
619
|
-
setFilters(_objectSpread$b(_objectSpread$b({}, filters), {}, {
|
|
620
|
-
sortBy: sorter.field,
|
|
621
|
-
orderBy: sorter.order
|
|
622
|
-
}));
|
|
623
|
-
};
|
|
624
|
-
var noDataProps = {
|
|
625
|
-
primaryButtonProps: {
|
|
626
|
-
label: t("neetoApprovals.common.add_", {
|
|
627
|
-
what: (_t = t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
628
|
-
}),
|
|
629
|
-
onClick: function onClick() {
|
|
630
|
-
return setIsPaneOpen(true);
|
|
631
|
-
}
|
|
632
|
-
},
|
|
633
|
-
helpText: renderNoDataHelpText({
|
|
634
|
-
entity: entity,
|
|
635
|
-
url: helpDocUrl
|
|
636
|
-
})
|
|
637
|
-
};
|
|
638
|
-
if (ramda.isEmpty(items)) {
|
|
639
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
640
|
-
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
641
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({
|
|
642
|
-
title: t("neetoApprovals.common.notFound_", {
|
|
643
|
-
what: entity
|
|
644
|
-
})
|
|
645
|
-
}, !filters.searchTerm && noDataProps)));
|
|
646
|
-
}
|
|
647
|
-
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
|
|
648
|
-
className: "mt-12",
|
|
649
|
-
hasPagination: totalCount > pageProperties.pageSize
|
|
650
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, _extends({
|
|
651
|
-
fixedHeight: true,
|
|
652
|
-
columnData: columns,
|
|
653
|
-
currentPageNumber: pageProperties.page,
|
|
654
|
-
defaultPageSize: pageProperties.pageSize,
|
|
655
|
-
handlePageChange: handleTablePagination,
|
|
656
|
-
rowData: items,
|
|
657
|
-
paginationProps: {
|
|
658
|
-
hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < DEFAULT_PAGE_SIZE + 1
|
|
659
|
-
},
|
|
660
|
-
onChange: handleTableChange
|
|
661
|
-
}, _objectSpread$b({
|
|
662
|
-
totalCount: totalCount
|
|
663
|
-
}, otherProps))));
|
|
664
|
-
};
|
|
665
|
-
|
|
666
|
-
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; }
|
|
667
|
-
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; }
|
|
668
|
-
var Approvers = function Approvers(_ref) {
|
|
669
|
-
var _t, _t2, _t3;
|
|
670
|
-
var filters = _ref.filters,
|
|
671
|
-
isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
672
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
673
|
-
helpDocUrl = _ref.helpDocUrl,
|
|
674
|
-
setFilters = _ref.setFilters;
|
|
675
|
-
var _useState = React.useState(""),
|
|
676
|
-
_useState2 = _slicedToArray$1(_useState, 2),
|
|
677
|
-
approverToEdit = _useState2[0],
|
|
678
|
-
setApproverToEdit = _useState2[1];
|
|
679
|
-
var _useState3 = React.useState(""),
|
|
680
|
-
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
681
|
-
approverToDelete = _useState4[0],
|
|
682
|
-
setApproverToDelete = _useState4[1];
|
|
683
|
-
var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
|
|
684
|
-
var _usePaginate = usePaginate(),
|
|
685
|
-
pageProperties = _usePaginate.pageProperties,
|
|
686
|
-
handleTablePagination = _usePaginate.handleTablePagination;
|
|
687
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
688
|
-
t = _useTranslation.t;
|
|
689
|
-
var _useFetchApprovers = useFetchApprovers(_objectSpread$a(_objectSpread$a(_objectSpread$a({}, pageProperties), filters), {}, {
|
|
690
|
-
searchTerm: debouncedSearchTerm.trim()
|
|
691
|
-
}), {
|
|
692
|
-
onSuccess: function onSuccess(approvers) {
|
|
693
|
-
handleEmptyPage(approvers, pageProperties, handleTablePagination);
|
|
694
|
-
}
|
|
695
|
-
}),
|
|
696
|
-
_useFetchApprovers$da = _useFetchApprovers.data,
|
|
697
|
-
_useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
|
|
698
|
-
_useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
|
|
699
|
-
approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3,
|
|
700
|
-
_useFetchApprovers$da4 = _useFetchApprovers$da2.totalCount,
|
|
701
|
-
totalCount = _useFetchApprovers$da4 === void 0 ? 0 : _useFetchApprovers$da4,
|
|
702
|
-
isApproverLoading = _useFetchApprovers.isLoading;
|
|
703
|
-
var _useDeleteApprover = useDeleteApprover(),
|
|
704
|
-
deleteApprover = _useDeleteApprover.mutate,
|
|
705
|
-
isDeleting = _useDeleteApprover.isLoading;
|
|
706
|
-
var onEditClick = function onEditClick(approver) {
|
|
707
|
-
var name = approver.name.split(" ");
|
|
708
|
-
setApproverToEdit(_objectSpread$a(_objectSpread$a({}, approver), {}, {
|
|
709
|
-
firstName: name[0],
|
|
710
|
-
lastName: name[1]
|
|
711
|
-
}));
|
|
712
|
-
};
|
|
713
|
-
var onDeleteClick = function onDeleteClick(approver) {
|
|
714
|
-
setApproverToDelete(approver);
|
|
715
|
-
};
|
|
716
|
-
var entity = (_t = t("neetoApprovals.common.approver", constants.PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase();
|
|
717
|
-
var handleDelete = function handleDelete(approverId) {
|
|
718
|
-
deleteApprover({
|
|
719
|
-
approverId: approverId
|
|
720
|
-
});
|
|
721
|
-
setApproverToDelete("");
|
|
722
|
-
};
|
|
723
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isApproverLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(Table, {
|
|
724
|
-
items: approvers,
|
|
725
|
-
setIsPaneOpen: setIsNewApproverPaneOpen,
|
|
726
|
-
columnData: columnData$1,
|
|
727
|
-
entity: entity,
|
|
728
|
-
filters: filters,
|
|
729
|
-
helpDocUrl: helpDocUrl,
|
|
730
|
-
onDeleteClick: onDeleteClick,
|
|
731
|
-
onEditClick: onEditClick,
|
|
732
|
-
setFilters: setFilters,
|
|
733
|
-
totalCount: totalCount
|
|
734
|
-
}), /*#__PURE__*/React__default["default"].createElement(Create$2, {
|
|
735
|
-
handleTablePagination: handleTablePagination,
|
|
736
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
737
|
-
pageProperties: pageProperties,
|
|
738
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen,
|
|
739
|
-
totalCount: totalCount
|
|
740
|
-
}), /*#__PURE__*/React__default["default"].createElement(Edit$2, {
|
|
741
|
-
approver: approverToEdit,
|
|
742
|
-
setApproverToEdit: setApproverToEdit
|
|
743
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
|
|
744
|
-
isOpen: !!approverToDelete,
|
|
745
|
-
isSubmitting: isDeleting,
|
|
746
|
-
submitButtonLabel: t("neetoApprovals.buttons.delete"),
|
|
747
|
-
message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
748
|
-
i18nKey: "neetoApprovals.alerts.deleting_",
|
|
749
|
-
values: {
|
|
750
|
-
what: (_t2 = t("neetoApprovals.common.approver", constants.SINGULAR)) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase(),
|
|
751
|
-
name: approverToDelete === null || approverToDelete === void 0 ? void 0 : approverToDelete.name
|
|
752
|
-
}
|
|
753
|
-
}),
|
|
754
|
-
title: t("neetoApprovals.common.delete_", {
|
|
755
|
-
what: (_t3 = t("neetoApprovals.common.approver", constants.SINGULAR)) === null || _t3 === void 0 ? void 0 : _t3.toLocaleLowerCase()
|
|
756
|
-
}),
|
|
757
|
-
onClose: function onClose() {
|
|
758
|
-
return setApproverToDelete("");
|
|
759
|
-
},
|
|
760
|
-
onSubmit: function onSubmit() {
|
|
761
|
-
return handleDelete(approverToDelete === null || approverToDelete === void 0 ? void 0 : approverToDelete.id);
|
|
762
|
-
}
|
|
763
|
-
}));
|
|
764
|
-
};
|
|
765
|
-
|
|
766
172
|
function _arrayWithHoles(arr) {
|
|
767
173
|
if (Array.isArray(arr)) return arr;
|
|
768
174
|
}
|
|
@@ -884,16 +290,20 @@ var filterNonNull = function filterNonNull(object) {
|
|
|
884
290
|
}));
|
|
885
291
|
};
|
|
886
292
|
nullSafe(filterNonNull);
|
|
887
|
-
var findById = /*#__PURE__*/ramda.curry(function (id, array) {
|
|
888
|
-
return array.find(function (item) {
|
|
889
|
-
return item.id === id;
|
|
890
|
-
});
|
|
891
|
-
});
|
|
892
293
|
var findBy = /*#__PURE__*/ramda.curry(function (pattern, array) {
|
|
893
294
|
return array.find(matches(pattern));
|
|
894
295
|
});
|
|
895
296
|
|
|
896
|
-
var
|
|
297
|
+
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handlePageChange) {
|
|
298
|
+
if (ramda.isEmpty(data) && pageProperties.page !== 1) {
|
|
299
|
+
handlePageChange(pageProperties.page - 1, pageProperties.pageSize);
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
var BASE_URL = "neeto_approvals";
|
|
304
|
+
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
305
|
+
|
|
306
|
+
var fetch$3 = function fetch(params, url) {
|
|
897
307
|
return axios__default["default"].get(url, {
|
|
898
308
|
params: params
|
|
899
309
|
});
|
|
@@ -906,12 +316,21 @@ var update$1 = function update(_ref) {
|
|
|
906
316
|
});
|
|
907
317
|
};
|
|
908
318
|
var requestsApi = {
|
|
909
|
-
fetch: fetch$
|
|
319
|
+
fetch: fetch$3,
|
|
910
320
|
update: update$1
|
|
911
321
|
};
|
|
912
322
|
|
|
913
|
-
|
|
914
|
-
|
|
323
|
+
var QUERY_KEYS = {
|
|
324
|
+
APPROVERS: "neeto-approvals-approvers",
|
|
325
|
+
TEMPLATES: "neeto-approvals-templates",
|
|
326
|
+
REQUESTS: "neeto-approvals-requests",
|
|
327
|
+
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
328
|
+
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
329
|
+
VIEWS: "neeto-approvals-views"
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
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; }
|
|
333
|
+
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; }
|
|
915
334
|
var useFetchRequests = function useFetchRequests(_ref) {
|
|
916
335
|
var requestUrl = _ref.requestUrl,
|
|
917
336
|
_ref$params = _ref.params,
|
|
@@ -920,7 +339,7 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
920
339
|
options = _ref$options === void 0 ? {} : _ref$options;
|
|
921
340
|
return reactQuery.useQuery([QUERY_KEYS.REQUESTS, params], function () {
|
|
922
341
|
return requestsApi.fetch(params, requestUrl);
|
|
923
|
-
}, _objectSpread$
|
|
342
|
+
}, _objectSpread$b({
|
|
924
343
|
select: function select(response) {
|
|
925
344
|
return response.data || response;
|
|
926
345
|
},
|
|
@@ -933,11 +352,67 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
933
352
|
}, options));
|
|
934
353
|
};
|
|
935
354
|
var useUpdateRequest = function useUpdateRequest(options) {
|
|
936
|
-
return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread$
|
|
355
|
+
return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread$b({
|
|
937
356
|
keysToInvalidate: [QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
938
357
|
}, options));
|
|
939
358
|
};
|
|
940
359
|
|
|
360
|
+
var usePaginate = function usePaginate() {
|
|
361
|
+
var _useState = React.useState({
|
|
362
|
+
page: constants.DEFAULT_PAGE_INDEX,
|
|
363
|
+
pageSize: constants.DEFAULT_PAGE_SIZE
|
|
364
|
+
}),
|
|
365
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
366
|
+
pageProperties = _useState2[0],
|
|
367
|
+
setPageProperties = _useState2[1];
|
|
368
|
+
var resetPageProperties = function resetPageProperties() {
|
|
369
|
+
return setPageProperties({
|
|
370
|
+
page: constants.DEFAULT_PAGE_INDEX,
|
|
371
|
+
pageSize: constants.DEFAULT_PAGE_SIZE
|
|
372
|
+
});
|
|
373
|
+
};
|
|
374
|
+
var handlePageChange = function handlePageChange(page, pageSize) {
|
|
375
|
+
setPageProperties({
|
|
376
|
+
page: page,
|
|
377
|
+
pageSize: pageSize
|
|
378
|
+
});
|
|
379
|
+
};
|
|
380
|
+
return {
|
|
381
|
+
pageProperties: pageProperties,
|
|
382
|
+
resetPageProperties: resetPageProperties,
|
|
383
|
+
handlePageChange: handlePageChange
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
new URLSearchParams(window.location.search);
|
|
388
|
+
var DEFAULT_FILTER_VALUES = {
|
|
389
|
+
searchTerm: "",
|
|
390
|
+
sortBy: "",
|
|
391
|
+
orderBy: ""
|
|
392
|
+
};
|
|
393
|
+
var SEARCH_DELAY = 750;
|
|
394
|
+
var STATUSES = {
|
|
395
|
+
approved: "approved",
|
|
396
|
+
rejected: "rejected",
|
|
397
|
+
pending: "pending",
|
|
398
|
+
cancelled: "cancelled"
|
|
399
|
+
};
|
|
400
|
+
var STATUS_TAG_STYLE = {
|
|
401
|
+
pending: "primary",
|
|
402
|
+
approved: "success",
|
|
403
|
+
rejected: "danger",
|
|
404
|
+
cancelled: "warning"
|
|
405
|
+
};
|
|
406
|
+
var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
|
|
407
|
+
message: "",
|
|
408
|
+
additionalInfo: ""
|
|
409
|
+
};
|
|
410
|
+
var STATUS_UPDATED_BY = {
|
|
411
|
+
rejected: i18next.t("neetoApprovals.common.rejectedBy"),
|
|
412
|
+
approved: i18next.t("neetoApprovals.common.approvedBy"),
|
|
413
|
+
cancelled: i18next.t("neetoApprovals.common.cancelledBy")
|
|
414
|
+
};
|
|
415
|
+
|
|
941
416
|
dayjs__default["default"].extend(utc__default["default"]);
|
|
942
417
|
dayjs__default["default"].extend(timezone__default["default"]);
|
|
943
418
|
var updateApprovalDetails = function updateApprovalDetails(_ref) {
|
|
@@ -969,10 +444,6 @@ var getApprovalFilter = function getApprovalFilter() {
|
|
|
969
444
|
HISTORY: {
|
|
970
445
|
label: i18next.t("neetoApprovals.common.history"),
|
|
971
446
|
value: "HISTORY"
|
|
972
|
-
},
|
|
973
|
-
APPROVERS: {
|
|
974
|
-
label: i18next.t("neetoApprovals.common.approver", constants.PLURAL),
|
|
975
|
-
value: "APPROVERS"
|
|
976
447
|
}
|
|
977
448
|
};
|
|
978
449
|
};
|
|
@@ -1039,6 +510,7 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1039
510
|
_approvalDetails$stat = approvalDetails.status,
|
|
1040
511
|
status = _approvalDetails$stat === void 0 ? "" : _approvalDetails$stat,
|
|
1041
512
|
message = approvalDetails.message,
|
|
513
|
+
additionalInfo = approvalDetails.additionalInfo,
|
|
1042
514
|
createdAt = approvalDetails.createdAt,
|
|
1043
515
|
approverName = approvalDetails.approverName,
|
|
1044
516
|
approverEmail = approvalDetails.approverEmail,
|
|
@@ -1098,6 +570,11 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1098
570
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent$1, {
|
|
1099
571
|
className: "neeto-ui-bg-gray-100 p-4",
|
|
1100
572
|
content: message
|
|
573
|
+
})), additionalInfo && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
574
|
+
className: "w-full space-y-2"
|
|
575
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.additionalInfo")), /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent$1, {
|
|
576
|
+
className: "neeto-ui-bg-gray-100 p-4",
|
|
577
|
+
content: additionalInfo
|
|
1101
578
|
})), isPending && isCurrentUserApprover && /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, {
|
|
1102
579
|
className: "w-full",
|
|
1103
580
|
disabled: !isPending,
|
|
@@ -1130,8 +607,8 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1130
607
|
})));
|
|
1131
608
|
};
|
|
1132
609
|
|
|
1133
|
-
function ownKeys$
|
|
1134
|
-
function _objectSpread$
|
|
610
|
+
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; }
|
|
611
|
+
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; }
|
|
1135
612
|
var History = function History(_ref) {
|
|
1136
613
|
var _t;
|
|
1137
614
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1142,7 +619,7 @@ var History = function History(_ref) {
|
|
|
1142
619
|
var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
|
|
1143
620
|
var _usePaginate = usePaginate(),
|
|
1144
621
|
pageProperties = _usePaginate.pageProperties,
|
|
1145
|
-
|
|
622
|
+
handlePageChange = _usePaginate.handlePageChange;
|
|
1146
623
|
var _useState3 = React.useState({}),
|
|
1147
624
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
1148
625
|
approvalDetails = _useState4[0],
|
|
@@ -1150,13 +627,14 @@ var History = function History(_ref) {
|
|
|
1150
627
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1151
628
|
t = _useTranslation.t;
|
|
1152
629
|
var _useFetchRequests = useFetchRequests({
|
|
1153
|
-
params: _objectSpread$
|
|
630
|
+
params: _objectSpread$a(_objectSpread$a(_objectSpread$a({}, pageProperties), filters), {}, {
|
|
1154
631
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1155
632
|
status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
|
|
1156
633
|
}),
|
|
1157
634
|
options: {
|
|
1158
|
-
onSuccess: function onSuccess(
|
|
1159
|
-
|
|
635
|
+
onSuccess: function onSuccess(_ref2) {
|
|
636
|
+
var requests = _ref2.requests;
|
|
637
|
+
handleEmptyPage(requests, pageProperties, handlePageChange);
|
|
1160
638
|
setApprovalDetails(function (approvalDetails) {
|
|
1161
639
|
return updateApprovalDetails({
|
|
1162
640
|
requestsData: requests,
|
|
@@ -1174,8 +652,8 @@ var History = function History(_ref) {
|
|
|
1174
652
|
_useFetchRequests$dat4 = _useFetchRequests$dat2.totalCount,
|
|
1175
653
|
totalCount = _useFetchRequests$dat4 === void 0 ? 0 : _useFetchRequests$dat4;
|
|
1176
654
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1177
|
-
setFilters(_objectSpread$
|
|
1178
|
-
sortBy: camelToSnakeCase(sorter.field),
|
|
655
|
+
setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
|
|
656
|
+
sortBy: camelToSnakeCase(sorter.field || ""),
|
|
1179
657
|
orderBy: sorter.order
|
|
1180
658
|
}));
|
|
1181
659
|
};
|
|
@@ -1188,10 +666,10 @@ var History = function History(_ref) {
|
|
|
1188
666
|
currentPageNumber: pageProperties.page,
|
|
1189
667
|
defaultPageSize: pageProperties.pageSize,
|
|
1190
668
|
rowData: approvalHistories,
|
|
669
|
+
handlePageChange: handlePageChange,
|
|
1191
670
|
totalCount: totalCount,
|
|
1192
|
-
handlePageChange: handleTablePagination,
|
|
1193
671
|
paginationProps: {
|
|
1194
|
-
hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < DEFAULT_PAGE_SIZE + 1
|
|
672
|
+
hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1195
673
|
},
|
|
1196
674
|
onChange: handleTableChange,
|
|
1197
675
|
onRowClick: function onRowClick(_, approvalDetails) {
|
|
@@ -1216,8 +694,8 @@ var PENDING_TABLE_COLUMNS = pure.removeBy({
|
|
|
1216
694
|
key: "status"
|
|
1217
695
|
}, HISTORY_TABLE_COLUMNS);
|
|
1218
696
|
|
|
1219
|
-
function ownKeys$
|
|
1220
|
-
function _objectSpread$
|
|
697
|
+
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; }
|
|
698
|
+
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; }
|
|
1221
699
|
var PendingRequests = function PendingRequests(_ref) {
|
|
1222
700
|
var _t;
|
|
1223
701
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1232,17 +710,18 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1232
710
|
var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
|
|
1233
711
|
var _usePaginate = usePaginate(),
|
|
1234
712
|
pageProperties = _usePaginate.pageProperties,
|
|
1235
|
-
|
|
713
|
+
handlePageChange = _usePaginate.handlePageChange;
|
|
1236
714
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1237
715
|
t = _useTranslation.t;
|
|
1238
716
|
var _useFetchRequests = useFetchRequests({
|
|
1239
|
-
params: _objectSpread$
|
|
717
|
+
params: _objectSpread$9(_objectSpread$9(_objectSpread$9({}, pageProperties), filters), {}, {
|
|
1240
718
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1241
719
|
status: [STATUSES.pending]
|
|
1242
720
|
}),
|
|
1243
721
|
options: {
|
|
1244
|
-
onSuccess: function onSuccess(
|
|
1245
|
-
|
|
722
|
+
onSuccess: function onSuccess(_ref2) {
|
|
723
|
+
var requests = _ref2.requests;
|
|
724
|
+
handleEmptyPage(requests, pageProperties, handlePageChange);
|
|
1246
725
|
}
|
|
1247
726
|
},
|
|
1248
727
|
requestUrl: requestUrl
|
|
@@ -1257,8 +736,8 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1257
736
|
updatePendingRequest = _useUpdateRequest.mutate,
|
|
1258
737
|
isLoading = _useUpdateRequest.isLoading;
|
|
1259
738
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1260
|
-
setFilters(_objectSpread$
|
|
1261
|
-
sortBy: camelToSnakeCase(sorter.field),
|
|
739
|
+
setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
|
|
740
|
+
sortBy: camelToSnakeCase(sorter.field || ""),
|
|
1262
741
|
orderBy: sorter.order
|
|
1263
742
|
}));
|
|
1264
743
|
};
|
|
@@ -1281,10 +760,10 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1281
760
|
currentPageNumber: pageProperties.page,
|
|
1282
761
|
defaultPageSize: pageProperties.pageSize,
|
|
1283
762
|
rowData: pendingRequests,
|
|
763
|
+
handlePageChange: handlePageChange,
|
|
1284
764
|
totalCount: totalCount,
|
|
1285
|
-
handlePageChange: handleTablePagination,
|
|
1286
765
|
paginationProps: {
|
|
1287
|
-
hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < DEFAULT_PAGE_SIZE + 1
|
|
766
|
+
hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1288
767
|
},
|
|
1289
768
|
onChange: handleTableChange,
|
|
1290
769
|
onRowClick: function onRowClick(_, approvalDetails) {
|
|
@@ -1305,10 +784,54 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1305
784
|
onClose: function onClose() {
|
|
1306
785
|
return setApprovalDetails({});
|
|
1307
786
|
}
|
|
1308
|
-
}));
|
|
1309
|
-
};
|
|
787
|
+
}));
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
function _extends() {
|
|
791
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
792
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
793
|
+
var source = arguments[i];
|
|
794
|
+
for (var key in source) {
|
|
795
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
796
|
+
target[key] = source[key];
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
return target;
|
|
801
|
+
};
|
|
802
|
+
return _extends.apply(this, arguments);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
806
|
+
if (source == null) return {};
|
|
807
|
+
var target = {};
|
|
808
|
+
var sourceKeys = Object.keys(source);
|
|
809
|
+
var key, i;
|
|
810
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
811
|
+
key = sourceKeys[i];
|
|
812
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
813
|
+
target[key] = source[key];
|
|
814
|
+
}
|
|
815
|
+
return target;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
function _objectWithoutProperties(source, excluded) {
|
|
819
|
+
if (source == null) return {};
|
|
820
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
821
|
+
var key, i;
|
|
822
|
+
if (Object.getOwnPropertySymbols) {
|
|
823
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
824
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
825
|
+
key = sourceSymbolKeys[i];
|
|
826
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
827
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
828
|
+
target[key] = source[key];
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
return target;
|
|
832
|
+
}
|
|
1310
833
|
|
|
1311
|
-
var fetch$
|
|
834
|
+
var fetch$2 = function fetch(params) {
|
|
1312
835
|
return axios__default["default"].get(TEMPLATE_URL, {
|
|
1313
836
|
params: params
|
|
1314
837
|
});
|
|
@@ -1335,20 +858,20 @@ var destroy = function destroy(_ref3) {
|
|
|
1335
858
|
};
|
|
1336
859
|
var templatesApi = {
|
|
1337
860
|
create: create,
|
|
1338
|
-
fetch: fetch$
|
|
861
|
+
fetch: fetch$2,
|
|
1339
862
|
update: update,
|
|
1340
863
|
destroy: destroy,
|
|
1341
864
|
show: show$1
|
|
1342
865
|
};
|
|
1343
866
|
|
|
1344
|
-
function ownKeys$
|
|
1345
|
-
function _objectSpread$
|
|
867
|
+
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; }
|
|
868
|
+
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; }
|
|
1346
869
|
var useFetchTemplates = function useFetchTemplates() {
|
|
1347
870
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1348
871
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1349
872
|
return reactQuery.useQuery([QUERY_KEYS.TEMPLATES, params], function () {
|
|
1350
873
|
return templatesApi.fetch(params);
|
|
1351
|
-
}, _objectSpread$
|
|
874
|
+
}, _objectSpread$8({
|
|
1352
875
|
select: function select(response) {
|
|
1353
876
|
return response.data || response;
|
|
1354
877
|
},
|
|
@@ -1361,12 +884,12 @@ var useFetchTemplates = function useFetchTemplates() {
|
|
|
1361
884
|
}, options));
|
|
1362
885
|
};
|
|
1363
886
|
var useCreateTemplate = function useCreateTemplate(options) {
|
|
1364
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.create, _objectSpread$
|
|
887
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.create, _objectSpread$8({
|
|
1365
888
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1366
889
|
}, options));
|
|
1367
890
|
};
|
|
1368
891
|
var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
1369
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.update, _objectSpread$
|
|
892
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.update, _objectSpread$8({
|
|
1370
893
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, function (_, _ref3) {
|
|
1371
894
|
var id = _ref3.id;
|
|
1372
895
|
return [QUERY_KEYS.SHOW_TEMPLATE, id];
|
|
@@ -1374,39 +897,44 @@ var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
|
1374
897
|
}, options));
|
|
1375
898
|
};
|
|
1376
899
|
var useDeleteTemplate = function useDeleteTemplate(options) {
|
|
1377
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.destroy, _objectSpread$
|
|
900
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.destroy, _objectSpread$8({
|
|
1378
901
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1379
902
|
}, options));
|
|
1380
903
|
};
|
|
1381
904
|
|
|
1382
|
-
function
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
function _nonIterableSpread() {
|
|
1391
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1392
|
-
}
|
|
1393
|
-
|
|
1394
|
-
function _toConsumableArray(arr) {
|
|
1395
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
|
|
1396
|
-
}
|
|
905
|
+
var fetch$1 = function fetch(params) {
|
|
906
|
+
return axios__default["default"].get("".concat(BASE_URL, "/approvers"), {
|
|
907
|
+
params: params
|
|
908
|
+
});
|
|
909
|
+
};
|
|
910
|
+
var approversApi = {
|
|
911
|
+
fetch: fetch$1
|
|
912
|
+
};
|
|
1397
913
|
|
|
1398
|
-
var
|
|
1399
|
-
var
|
|
1400
|
-
var
|
|
1401
|
-
|
|
1402
|
-
|
|
914
|
+
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; }
|
|
915
|
+
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; }
|
|
916
|
+
var useFetchApprovers = function useFetchApprovers() {
|
|
917
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
918
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
919
|
+
return reactQuery.useQuery([QUERY_KEYS.APPROVERS, params], function () {
|
|
920
|
+
return approversApi.fetch(params);
|
|
921
|
+
}, _objectSpread$7({
|
|
922
|
+
select: function select(response) {
|
|
923
|
+
return response.data || response;
|
|
924
|
+
},
|
|
925
|
+
keepPreviousData: true,
|
|
926
|
+
onSuccess: function onSuccess(_ref) {
|
|
927
|
+
var _params$onSuccess;
|
|
928
|
+
var approvers = _ref.approvers;
|
|
929
|
+
return params === null || params === void 0 ? void 0 : (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
930
|
+
}
|
|
931
|
+
}, options));
|
|
1403
932
|
};
|
|
933
|
+
|
|
1404
934
|
var TEMPLATE_FORM_INITIAL_VALUES = {
|
|
1405
935
|
name: "",
|
|
1406
936
|
description: "",
|
|
1407
|
-
visibility: EVERYONE_VISIBILITY,
|
|
1408
937
|
approver: "",
|
|
1409
|
-
variables: [],
|
|
1410
938
|
message: ""
|
|
1411
939
|
};
|
|
1412
940
|
var TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
@@ -1418,87 +946,27 @@ var TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
|
1418
946
|
what: i18next.t("neetoApprovals.inputs.labels.message")
|
|
1419
947
|
}), function (content) {
|
|
1420
948
|
return !neetoEditor.isEditorEmpty(content);
|
|
1421
|
-
})
|
|
1422
|
-
variables: yup__namespace.array().of(yup__namespace.object().shape({
|
|
1423
|
-
variable: yup__namespace.string().trim().required(i18next.t("neetoApprovals.validations.pleaseEnter_", {
|
|
1424
|
-
what: (_t = i18next.t("neetoApprovals.common.variable")) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1425
|
-
})).matches(VALID_VARIABLE_NAME_REGEX, i18next.t("neetoApprovals.validations.variableName"))
|
|
1426
|
-
}))
|
|
949
|
+
})
|
|
1427
950
|
});
|
|
1428
951
|
|
|
1429
|
-
var
|
|
1430
|
-
var
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
variables = _useFormikContext$val === void 0 ? [] : _useFormikContext$val;
|
|
1435
|
-
var editorVariables = variables.map(function (_ref, index) {
|
|
1436
|
-
var variable = _ref.variable;
|
|
1437
|
-
var variableValue = variable || "variable_".concat(index + 1);
|
|
1438
|
-
return {
|
|
1439
|
-
key: variableValue,
|
|
1440
|
-
label: variableValue
|
|
1441
|
-
};
|
|
1442
|
-
});
|
|
1443
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1444
|
-
className: "space-y-2 "
|
|
1445
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.variableMapping")), /*#__PURE__*/React__default["default"].createElement(formik$1.FieldArray, {
|
|
1446
|
-
name: "variables"
|
|
1447
|
-
}, function (_ref2) {
|
|
1448
|
-
var remove = _ref2.remove,
|
|
1449
|
-
push = _ref2.push;
|
|
1450
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1451
|
-
className: "neeto-ui-bg-gray-100 w-full p-3"
|
|
1452
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1453
|
-
className: "grid grid-cols-2 gap-4"
|
|
1454
|
-
}, variables === null || variables === void 0 ? void 0 : variables.map(function (_, index) {
|
|
1455
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1456
|
-
className: "mb-2 flex space-x-2",
|
|
1457
|
-
key: index
|
|
1458
|
-
}, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
1459
|
-
autoFocus: true,
|
|
1460
|
-
required: true,
|
|
1461
|
-
name: "variables[".concat(index, "][variable]"),
|
|
1462
|
-
label: t("neetoApprovals.common.variable_", {
|
|
1463
|
-
number: index + 1
|
|
1464
|
-
})
|
|
1465
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1466
|
-
className: "my-5",
|
|
1467
|
-
icon: neetoIcons.Delete,
|
|
1468
|
-
style: "text",
|
|
1469
|
-
onClick: function onClick() {
|
|
1470
|
-
return remove(index);
|
|
1471
|
-
}
|
|
1472
|
-
}));
|
|
1473
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1474
|
-
style: "link",
|
|
1475
|
-
label: t("neetoApprovals.common.add_", {
|
|
1476
|
-
what: t("neetoApprovals.common.variable")
|
|
1477
|
-
}),
|
|
1478
|
-
onClick: function onClick() {
|
|
1479
|
-
return push({
|
|
1480
|
-
variable: ""
|
|
1481
|
-
});
|
|
1482
|
-
}
|
|
1483
|
-
}));
|
|
1484
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
952
|
+
var MessageEditor = reactUtils.withT(function (_ref) {
|
|
953
|
+
var t = _ref.t,
|
|
954
|
+
_ref$placeholders = _ref.placeholders,
|
|
955
|
+
placeholders = _ref$placeholders === void 0 ? [] : _ref$placeholders;
|
|
956
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
1485
957
|
required: true,
|
|
1486
|
-
key: variables,
|
|
1487
958
|
label: t("neetoApprovals.inputs.labels.message"),
|
|
1488
959
|
name: "message",
|
|
1489
960
|
rows: 3,
|
|
1490
|
-
variables:
|
|
961
|
+
variables: placeholders,
|
|
1491
962
|
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1492
963
|
what: t("neetoApprovals.inputs.labels.message")
|
|
1493
|
-
})
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
}
|
|
1497
|
-
}));
|
|
1498
|
-
};
|
|
964
|
+
})
|
|
965
|
+
});
|
|
966
|
+
});
|
|
1499
967
|
|
|
1500
968
|
var Form$1 = function Form(_ref) {
|
|
1501
|
-
var _t
|
|
969
|
+
var _t;
|
|
1502
970
|
var isOpen = _ref.isOpen,
|
|
1503
971
|
onClose = _ref.onClose,
|
|
1504
972
|
_ref$initialData = _ref.initialData,
|
|
@@ -1507,7 +975,7 @@ var Form$1 = function Form(_ref) {
|
|
|
1507
975
|
onSubmit = _ref$onSubmit === void 0 ? noop : _ref$onSubmit,
|
|
1508
976
|
_ref$isLoading = _ref.isLoading,
|
|
1509
977
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
1510
|
-
|
|
978
|
+
placeholders = _ref.placeholders;
|
|
1511
979
|
var inputReference = React.useRef(null);
|
|
1512
980
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1513
981
|
t = _useTranslation.t;
|
|
@@ -1516,10 +984,10 @@ var Form$1 = function Form(_ref) {
|
|
|
1516
984
|
_useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
|
|
1517
985
|
_useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
|
|
1518
986
|
approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3;
|
|
1519
|
-
var header = ramda.isEmpty(initialData) ? t("neetoApprovals.common.
|
|
1520
|
-
what: t("neetoApprovals.common.
|
|
987
|
+
var header = ramda.isEmpty(initialData) ? t("neetoApprovals.common.addNew_", {
|
|
988
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR).toLocaleLowerCase()
|
|
1521
989
|
}) : t("neetoApprovals.common.edit_", {
|
|
1522
|
-
what: t("neetoApprovals.common.
|
|
990
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR).toLocaleLowerCase()
|
|
1523
991
|
});
|
|
1524
992
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1525
993
|
initialFocusRef: inputReference,
|
|
@@ -1540,7 +1008,6 @@ var Form$1 = function Form(_ref) {
|
|
|
1540
1008
|
}, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
1541
1009
|
autoFocus: true,
|
|
1542
1010
|
required: true,
|
|
1543
|
-
className: "w-1/2",
|
|
1544
1011
|
label: t("neetoApprovals.common.name"),
|
|
1545
1012
|
name: "name",
|
|
1546
1013
|
placeholder: t("neetoApprovals.inputs.placeholders.name")
|
|
@@ -1564,14 +1031,9 @@ var Form$1 = function Form(_ref) {
|
|
|
1564
1031
|
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1565
1032
|
what: (_t = t("neetoApprovals.common.approver", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1566
1033
|
})
|
|
1567
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
options: [].concat(_toConsumableArray(visibilityOptions), [EVERYONE_VISIBILITY]),
|
|
1571
|
-
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1572
|
-
what: (_t2 = t("neetoApprovals.common.visibility")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase()
|
|
1573
|
-
})
|
|
1574
|
-
})), /*#__PURE__*/React__default["default"].createElement(DynamicBlock, null))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
1034
|
+
})), /*#__PURE__*/React__default["default"].createElement(MessageEditor, {
|
|
1035
|
+
placeholders: placeholders
|
|
1036
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
1575
1037
|
className: "flex gap-x-2"
|
|
1576
1038
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1577
1039
|
label: t("neetoApprovals.buttons.saveChanges"),
|
|
@@ -1584,45 +1046,31 @@ var Form$1 = function Form(_ref) {
|
|
|
1584
1046
|
})))));
|
|
1585
1047
|
};
|
|
1586
1048
|
|
|
1587
|
-
function ownKeys$
|
|
1588
|
-
function _objectSpread$
|
|
1049
|
+
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; }
|
|
1050
|
+
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; }
|
|
1589
1051
|
var buildTemplatePayload = function buildTemplatePayload(template) {
|
|
1590
|
-
var
|
|
1591
|
-
visibility = template.visibility,
|
|
1592
|
-
approver = template.approver;
|
|
1593
|
-
var indexedVariables = variables.map(function (_ref, index) {
|
|
1594
|
-
var variable = _ref.variable;
|
|
1595
|
-
return ["variable".concat(index + 1), variable];
|
|
1596
|
-
});
|
|
1052
|
+
var approver = template.approver;
|
|
1597
1053
|
var payload = {
|
|
1598
|
-
template: _objectSpread$
|
|
1599
|
-
|
|
1600
|
-
approverId: approver.value,
|
|
1601
|
-
variables: ramda.fromPairs(indexedVariables)
|
|
1054
|
+
template: _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1055
|
+
approverId: approver.value
|
|
1602
1056
|
})
|
|
1603
1057
|
};
|
|
1604
1058
|
return payload;
|
|
1605
1059
|
};
|
|
1606
1060
|
var generateInitialData = function generateInitialData(template) {
|
|
1607
|
-
return _objectSpread$
|
|
1608
|
-
visibility: template.accessibleId || EVERYONE_VISIBILITY.value,
|
|
1061
|
+
return _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1609
1062
|
approver: {
|
|
1610
1063
|
label: template.approverName,
|
|
1611
1064
|
value: template.approverId
|
|
1612
|
-
}
|
|
1613
|
-
variables: template.variables && Object.values(template.variables).map(function (variable) {
|
|
1614
|
-
return {
|
|
1615
|
-
variable: variable
|
|
1616
|
-
};
|
|
1617
|
-
})
|
|
1065
|
+
}
|
|
1618
1066
|
});
|
|
1619
1067
|
};
|
|
1620
1068
|
|
|
1621
1069
|
var Create = function Create(_ref) {
|
|
1622
|
-
var
|
|
1623
|
-
templateUrl = _ref.templateUrl,
|
|
1070
|
+
var templateUrl = _ref.templateUrl,
|
|
1624
1071
|
isOpen = _ref.isOpen,
|
|
1625
|
-
onClose = _ref.onClose
|
|
1072
|
+
onClose = _ref.onClose,
|
|
1073
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1626
1074
|
var _useCreateTemplate = useCreateTemplate(),
|
|
1627
1075
|
createTemplate = _useCreateTemplate.mutate,
|
|
1628
1076
|
isLoading = _useCreateTemplate.isLoading;
|
|
@@ -1636,21 +1084,21 @@ var Create = function Create(_ref) {
|
|
|
1636
1084
|
});
|
|
1637
1085
|
};
|
|
1638
1086
|
return /*#__PURE__*/React__default["default"].createElement(Form$1, {
|
|
1087
|
+
placeholders: templatePlaceholders,
|
|
1639
1088
|
isLoading: isLoading,
|
|
1640
1089
|
isOpen: isOpen,
|
|
1641
1090
|
onClose: onClose,
|
|
1642
|
-
onSubmit: onSubmit
|
|
1643
|
-
visibilityOptions: visibilityOptions
|
|
1091
|
+
onSubmit: onSubmit
|
|
1644
1092
|
});
|
|
1645
1093
|
};
|
|
1646
1094
|
|
|
1647
1095
|
var Edit = function Edit(_ref) {
|
|
1648
|
-
var
|
|
1649
|
-
templateUrl = _ref.templateUrl,
|
|
1096
|
+
var templateUrl = _ref.templateUrl,
|
|
1650
1097
|
template = _ref.template,
|
|
1651
1098
|
setTemplate = _ref.setTemplate,
|
|
1652
1099
|
isOpen = _ref.isOpen,
|
|
1653
|
-
onClose = _ref.onClose
|
|
1100
|
+
onClose = _ref.onClose,
|
|
1101
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1654
1102
|
var _useUpdateTemplate = useUpdateTemplate({
|
|
1655
1103
|
onSuccess: function onSuccess() {
|
|
1656
1104
|
return setTemplate({});
|
|
@@ -1669,10 +1117,10 @@ var Edit = function Edit(_ref) {
|
|
|
1669
1117
|
return /*#__PURE__*/React__default["default"].createElement(Form$1, {
|
|
1670
1118
|
initialData: generateInitialData(template),
|
|
1671
1119
|
isLoading: isUpdating,
|
|
1120
|
+
placeholders: templatePlaceholders,
|
|
1672
1121
|
isOpen: isOpen,
|
|
1673
1122
|
onClose: onClose,
|
|
1674
|
-
onSubmit: onSubmit
|
|
1675
|
-
visibilityOptions: visibilityOptions
|
|
1123
|
+
onSubmit: onSubmit
|
|
1676
1124
|
});
|
|
1677
1125
|
};
|
|
1678
1126
|
|
|
@@ -1691,7 +1139,6 @@ var Field$1 = /*#__PURE__*/React__default["default"].memo(Field);
|
|
|
1691
1139
|
|
|
1692
1140
|
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(neetoEditor.EditorContent);
|
|
1693
1141
|
var TemplateDetails = function TemplateDetails(_ref) {
|
|
1694
|
-
var _Object$entries;
|
|
1695
1142
|
var isOpen = _ref.isOpen,
|
|
1696
1143
|
onClose = _ref.onClose,
|
|
1697
1144
|
template = _ref.template;
|
|
@@ -1700,8 +1147,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1700
1147
|
var name = template.name,
|
|
1701
1148
|
description = template.description,
|
|
1702
1149
|
approverName = template.approverName,
|
|
1703
|
-
accessible = template.accessible,
|
|
1704
|
-
variables = template.variables,
|
|
1705
1150
|
message = template.message;
|
|
1706
1151
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1707
1152
|
isOpen: isOpen,
|
|
@@ -1721,18 +1166,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1721
1166
|
}), /*#__PURE__*/React__default["default"].createElement(Field$1, {
|
|
1722
1167
|
label: t("neetoApprovals.common.approver", constants.SINGULAR),
|
|
1723
1168
|
value: approverName
|
|
1724
|
-
}), /*#__PURE__*/React__default["default"].createElement(Field$1, {
|
|
1725
|
-
label: t("neetoApprovals.common.visibility"),
|
|
1726
|
-
value: (accessible === null || accessible === void 0 ? void 0 : accessible.label) || EVERYONE_VISIBILITY.label
|
|
1727
|
-
}), (_Object$entries = Object.entries(variables || {})) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (_ref2) {
|
|
1728
|
-
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
1729
|
-
variable = _ref3[0],
|
|
1730
|
-
value = _ref3[1];
|
|
1731
|
-
return /*#__PURE__*/React__default["default"].createElement(Field$1, {
|
|
1732
|
-
key: value,
|
|
1733
|
-
label: capitalize(variable),
|
|
1734
|
-
value: value
|
|
1735
|
-
});
|
|
1736
1169
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1737
1170
|
className: "flex w-full flex-col space-y-4"
|
|
1738
1171
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
|
|
@@ -1743,8 +1176,100 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1743
1176
|
}))));
|
|
1744
1177
|
};
|
|
1745
1178
|
|
|
1746
|
-
var
|
|
1747
|
-
|
|
1179
|
+
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
1180
|
+
var entity = _ref.entity,
|
|
1181
|
+
url = _ref.url;
|
|
1182
|
+
return /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
1183
|
+
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
1184
|
+
values: {
|
|
1185
|
+
entity: entity
|
|
1186
|
+
},
|
|
1187
|
+
components: {
|
|
1188
|
+
a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
1189
|
+
className: "neeto-ui-text-primary-600 underline",
|
|
1190
|
+
target: "_blank",
|
|
1191
|
+
to: {
|
|
1192
|
+
pathname: url
|
|
1193
|
+
}
|
|
1194
|
+
})
|
|
1195
|
+
}
|
|
1196
|
+
});
|
|
1197
|
+
};
|
|
1198
|
+
|
|
1199
|
+
var _excluded$1 = ["entity", "columnData", "rowData", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick", "pageProperties"];
|
|
1200
|
+
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; }
|
|
1201
|
+
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; }
|
|
1202
|
+
var Table = function Table(_ref) {
|
|
1203
|
+
var _t;
|
|
1204
|
+
var entity = _ref.entity,
|
|
1205
|
+
columnData = _ref.columnData,
|
|
1206
|
+
rowData = _ref.rowData,
|
|
1207
|
+
totalCount = _ref.totalCount,
|
|
1208
|
+
filters = _ref.filters,
|
|
1209
|
+
setFilters = _ref.setFilters,
|
|
1210
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
1211
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
1212
|
+
onEditClick = _ref.onEditClick,
|
|
1213
|
+
onDeleteClick = _ref.onDeleteClick,
|
|
1214
|
+
pageProperties = _ref.pageProperties,
|
|
1215
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
1216
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1217
|
+
t = _useTranslation.t;
|
|
1218
|
+
var columns = columnData({
|
|
1219
|
+
onEditClick: onEditClick,
|
|
1220
|
+
onDeleteClick: onDeleteClick
|
|
1221
|
+
});
|
|
1222
|
+
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1223
|
+
setFilters(_objectSpread$5(_objectSpread$5({}, filters), {}, {
|
|
1224
|
+
sortBy: sorter.field,
|
|
1225
|
+
orderBy: sorter.order
|
|
1226
|
+
}));
|
|
1227
|
+
};
|
|
1228
|
+
var noDataProps = {
|
|
1229
|
+
primaryButtonProps: {
|
|
1230
|
+
label: t("neetoApprovals.common.addNew_", {
|
|
1231
|
+
what: (_t = t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1232
|
+
}),
|
|
1233
|
+
onClick: function onClick() {
|
|
1234
|
+
return setIsPaneOpen(true);
|
|
1235
|
+
}
|
|
1236
|
+
},
|
|
1237
|
+
helpText: renderNoDataHelpText({
|
|
1238
|
+
entity: entity,
|
|
1239
|
+
url: helpDocUrl
|
|
1240
|
+
})
|
|
1241
|
+
};
|
|
1242
|
+
if (ramda.isEmpty(rowData)) {
|
|
1243
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1244
|
+
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
1245
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({
|
|
1246
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
1247
|
+
what: entity
|
|
1248
|
+
})
|
|
1249
|
+
}, !filters.searchTerm && noDataProps)));
|
|
1250
|
+
}
|
|
1251
|
+
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
|
|
1252
|
+
className: "mt-12",
|
|
1253
|
+
hasPagination: totalCount > pageProperties.pageSize
|
|
1254
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, _extends({
|
|
1255
|
+
fixedHeight: true,
|
|
1256
|
+
columnData: columns,
|
|
1257
|
+
currentPageNumber: pageProperties.page,
|
|
1258
|
+
defaultPageSize: pageProperties.pageSize,
|
|
1259
|
+
scroll: {
|
|
1260
|
+
x: 0
|
|
1261
|
+
},
|
|
1262
|
+
tableLayout: "fixed",
|
|
1263
|
+
paginationProps: {
|
|
1264
|
+
hideOnSinglePage: (rowData === null || rowData === void 0 ? void 0 : rowData.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1265
|
+
},
|
|
1266
|
+
onChange: handleTableChange
|
|
1267
|
+
}, _objectSpread$5({
|
|
1268
|
+
rowData: rowData,
|
|
1269
|
+
totalCount: totalCount
|
|
1270
|
+
}, otherProps))));
|
|
1271
|
+
};
|
|
1272
|
+
|
|
1748
1273
|
var columnData = function columnData(_ref) {
|
|
1749
1274
|
var onEditClick = _ref.onEditClick,
|
|
1750
1275
|
onDeleteClick = _ref.onDeleteClick;
|
|
@@ -1752,86 +1277,90 @@ var columnData = function columnData(_ref) {
|
|
|
1752
1277
|
dataIndex: "name",
|
|
1753
1278
|
key: "name",
|
|
1754
1279
|
sorter: true,
|
|
1755
|
-
title: i18next__default["default"].t("neetoApprovals.common.name")
|
|
1756
|
-
}, {
|
|
1757
|
-
dataIndex: "visibility",
|
|
1758
|
-
key: "visibility",
|
|
1759
|
-
title: i18next__default["default"].t("neetoApprovals.common.visibility"),
|
|
1760
|
-
render: function render(_, _ref2) {
|
|
1761
|
-
var accessible = _ref2.accessible;
|
|
1762
|
-
return (accessible === null || accessible === void 0 ? void 0 : accessible.label) || EVERYONE_VISIBILITY.label;
|
|
1763
|
-
}
|
|
1764
|
-
}, {
|
|
1765
|
-
key: "actions",
|
|
1280
|
+
title: i18next__default["default"].t("neetoApprovals.common.name"),
|
|
1766
1281
|
ellipsis: true,
|
|
1767
1282
|
render: function render(_, template) {
|
|
1768
1283
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1769
|
-
className: "flex
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1284
|
+
className: "flex items-center justify-between gap-x-3"
|
|
1285
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
1286
|
+
className: "truncate",
|
|
1287
|
+
style: "body2"
|
|
1288
|
+
}, template.name), /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
|
|
1289
|
+
dropdownProps: {
|
|
1290
|
+
strategy: "fixed",
|
|
1291
|
+
onClick: function onClick(e) {
|
|
1292
|
+
return e.stopPropagation();
|
|
1293
|
+
}
|
|
1777
1294
|
},
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
}, i18next__default["default"].t("neetoApprovals.common.delete")))));
|
|
1295
|
+
menuItems: [{
|
|
1296
|
+
key: "edit",
|
|
1297
|
+
label: i18next__default["default"].t("neetoApprovals.common.edit"),
|
|
1298
|
+
onClick: function onClick(event) {
|
|
1299
|
+
return onEditClick(event, template);
|
|
1300
|
+
}
|
|
1301
|
+
}, {
|
|
1302
|
+
key: "delete",
|
|
1303
|
+
label: i18next__default["default"].t("neetoApprovals.common.delete"),
|
|
1304
|
+
onClick: function onClick(event) {
|
|
1305
|
+
return onDeleteClick(event, template);
|
|
1306
|
+
}
|
|
1307
|
+
}]
|
|
1308
|
+
}));
|
|
1793
1309
|
}
|
|
1310
|
+
}, {
|
|
1311
|
+
dataIndex: "approverName",
|
|
1312
|
+
key: "approverName",
|
|
1313
|
+
sorter: true,
|
|
1314
|
+
title: i18next__default["default"].t("neetoApprovals.common.approver", constants.SINGULAR)
|
|
1794
1315
|
}];
|
|
1795
1316
|
};
|
|
1796
1317
|
|
|
1797
|
-
var _excluded = ["
|
|
1318
|
+
var _excluded = ["searchTerm", "isNewTemplatePaneOpen", "setIsNewTemplatePaneOpen", "helpDocUrl"];
|
|
1798
1319
|
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; }
|
|
1799
1320
|
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; }
|
|
1800
1321
|
var Templates = function Templates(_ref) {
|
|
1801
1322
|
var _t, _t2, _t3;
|
|
1802
|
-
var
|
|
1323
|
+
var searchTerm = _ref.searchTerm,
|
|
1803
1324
|
isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
|
|
1804
|
-
setFilters = _ref.setFilters,
|
|
1805
1325
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen,
|
|
1806
1326
|
helpDocUrl = _ref.helpDocUrl,
|
|
1807
1327
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
1808
|
-
var _useState = React.useState(
|
|
1328
|
+
var _useState = React.useState(DEFAULT_FILTER_VALUES),
|
|
1809
1329
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
var _useState3 = React.useState(
|
|
1330
|
+
filters = _useState2[0],
|
|
1331
|
+
setFilters = _useState2[1];
|
|
1332
|
+
var _useState3 = React.useState({}),
|
|
1813
1333
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
1814
|
-
|
|
1815
|
-
|
|
1334
|
+
selectedTemplate = _useState4[0],
|
|
1335
|
+
setSelectedTemplate = _useState4[1];
|
|
1816
1336
|
var _useState5 = React.useState(false),
|
|
1817
1337
|
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
1818
|
-
|
|
1819
|
-
|
|
1338
|
+
isDeleteAlertOpen = _useState6[0],
|
|
1339
|
+
setIsDeleteAlertOpen = _useState6[1];
|
|
1820
1340
|
var _useState7 = React.useState(false),
|
|
1821
1341
|
_useState8 = _slicedToArray$1(_useState7, 2),
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
var
|
|
1342
|
+
isEditPaneOpen = _useState8[0],
|
|
1343
|
+
setIsEditPaneOpen = _useState8[1];
|
|
1344
|
+
var _useState9 = React.useState(false),
|
|
1345
|
+
_useState10 = _slicedToArray$1(_useState9, 2),
|
|
1346
|
+
isShowPaneOpen = _useState10[0],
|
|
1347
|
+
setIsShowPaneOpen = _useState10[1];
|
|
1825
1348
|
var _usePaginate = usePaginate(),
|
|
1826
1349
|
pageProperties = _usePaginate.pageProperties,
|
|
1827
|
-
|
|
1350
|
+
handlePageChange = _usePaginate.handlePageChange,
|
|
1351
|
+
resetPageProperties = _usePaginate.resetPageProperties;
|
|
1828
1352
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1829
1353
|
t = _useTranslation.t;
|
|
1354
|
+
var debouncedSearchTerm = reactUtils.useDebounce(searchTerm, SEARCH_DELAY);
|
|
1355
|
+
React.useEffect(function () {
|
|
1356
|
+
resetPageProperties();
|
|
1357
|
+
}, [searchTerm]);
|
|
1830
1358
|
var _useFetchTemplates = useFetchTemplates(_objectSpread$4(_objectSpread$4(_objectSpread$4({}, pageProperties), filters), {}, {
|
|
1831
1359
|
searchTerm: debouncedSearchTerm.trim()
|
|
1832
1360
|
}), {
|
|
1833
|
-
onSuccess: function onSuccess(
|
|
1834
|
-
|
|
1361
|
+
onSuccess: function onSuccess(_ref2) {
|
|
1362
|
+
var templates = _ref2.templates;
|
|
1363
|
+
handleEmptyPage(templates, pageProperties, handlePageChange);
|
|
1835
1364
|
}
|
|
1836
1365
|
}),
|
|
1837
1366
|
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
@@ -1851,7 +1380,8 @@ var Templates = function Templates(_ref) {
|
|
|
1851
1380
|
setIsShowPaneOpen(false);
|
|
1852
1381
|
}
|
|
1853
1382
|
}, [selectedTemplate]);
|
|
1854
|
-
var onEditClick = function onEditClick(template) {
|
|
1383
|
+
var onEditClick = function onEditClick(event, template) {
|
|
1384
|
+
event.stopPropagation();
|
|
1855
1385
|
setSelectedTemplate(template);
|
|
1856
1386
|
setIsEditPaneOpen(true);
|
|
1857
1387
|
};
|
|
@@ -1859,7 +1389,8 @@ var Templates = function Templates(_ref) {
|
|
|
1859
1389
|
setSelectedTemplate(templateDetails);
|
|
1860
1390
|
setIsShowPaneOpen(true);
|
|
1861
1391
|
};
|
|
1862
|
-
var onDeleteClick = function onDeleteClick(template) {
|
|
1392
|
+
var onDeleteClick = function onDeleteClick(event, template) {
|
|
1393
|
+
event.stopPropagation();
|
|
1863
1394
|
setSelectedTemplate(template);
|
|
1864
1395
|
setIsDeleteAlertOpen(true);
|
|
1865
1396
|
};
|
|
@@ -1871,15 +1402,18 @@ var Templates = function Templates(_ref) {
|
|
|
1871
1402
|
};
|
|
1872
1403
|
var entity = (_t = t("neetoApprovals.common.template", constants.PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase();
|
|
1873
1404
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isTemplateLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(Table, {
|
|
1874
|
-
|
|
1405
|
+
rowData: templates,
|
|
1875
1406
|
setIsPaneOpen: setIsNewTemplatePaneOpen,
|
|
1876
1407
|
columnData: columnData,
|
|
1877
1408
|
entity: entity,
|
|
1878
1409
|
filters: filters,
|
|
1410
|
+
handlePageChange: handlePageChange,
|
|
1879
1411
|
helpDocUrl: helpDocUrl,
|
|
1880
1412
|
onDeleteClick: onDeleteClick,
|
|
1881
1413
|
onEditClick: onEditClick,
|
|
1882
1414
|
onRowClick: onRowClick,
|
|
1415
|
+
pageProperties: pageProperties,
|
|
1416
|
+
searchTerm: searchTerm,
|
|
1883
1417
|
setFilters: setFilters,
|
|
1884
1418
|
totalCount: totalCount
|
|
1885
1419
|
}), /*#__PURE__*/React__default["default"].createElement(Create, _extends({
|
|
@@ -1928,49 +1462,23 @@ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
1928
1462
|
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1929
1463
|
var createRoutes = function createRoutes(_ref) {
|
|
1930
1464
|
var config = _ref.config,
|
|
1931
|
-
filters = _ref.filters,
|
|
1932
|
-
isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
1933
1465
|
isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
|
|
1934
|
-
|
|
1935
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
1466
|
+
searchTerm = _ref.searchTerm,
|
|
1936
1467
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
|
|
1937
1468
|
return [{
|
|
1938
|
-
component: function component() {
|
|
1939
|
-
return /*#__PURE__*/React__default["default"].createElement(Approvers, _objectSpread$3({
|
|
1940
|
-
filters: filters,
|
|
1941
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
1942
|
-
setFilters: setFilters,
|
|
1943
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen
|
|
1944
|
-
}, config));
|
|
1945
|
-
},
|
|
1946
|
-
path: "".concat(config.approvalsPath).concat(routes.approvers),
|
|
1947
|
-
actionBlock: function actionBlock() {
|
|
1948
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1949
|
-
label: i18next.t("neetoApprovals.common.add_", {
|
|
1950
|
-
what: i18next.t("neetoApprovals.common.approver", constants.SINGULAR).toLocaleLowerCase()
|
|
1951
|
-
}),
|
|
1952
|
-
onClick: function onClick() {
|
|
1953
|
-
return setIsNewApproverPaneOpen(true);
|
|
1954
|
-
}
|
|
1955
|
-
});
|
|
1956
|
-
},
|
|
1957
|
-
searchPlaceholder: i18next.t("neetoApprovals.inputs.placeholders.search_", {
|
|
1958
|
-
what: i18next.t("neetoApprovals.common.approver", constants.PLURAL).toLocaleLowerCase()
|
|
1959
|
-
})
|
|
1960
|
-
}, {
|
|
1961
1469
|
component: function component() {
|
|
1962
1470
|
return /*#__PURE__*/React__default["default"].createElement(Templates, _objectSpread$3({
|
|
1963
|
-
filters: filters,
|
|
1964
1471
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
1965
|
-
|
|
1472
|
+
searchTerm: searchTerm,
|
|
1966
1473
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
1967
1474
|
}, config));
|
|
1968
1475
|
},
|
|
1969
1476
|
path: "".concat(config.approvalsPath).concat(routes.templates.index),
|
|
1970
1477
|
actionBlock: function actionBlock() {
|
|
1478
|
+
var _t;
|
|
1971
1479
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1972
|
-
label: i18next.t("neetoApprovals.common.
|
|
1973
|
-
what: i18next.t("neetoApprovals.common.
|
|
1480
|
+
label: i18next.t("neetoApprovals.common.addNew_", {
|
|
1481
|
+
what: (_t = i18next.t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1974
1482
|
}),
|
|
1975
1483
|
onClick: function onClick() {
|
|
1976
1484
|
return setIsNewTemplatePaneOpen(true);
|
|
@@ -1997,8 +1505,8 @@ var Header = function Header(_ref) {
|
|
|
1997
1505
|
var _currentTab$actionBlo;
|
|
1998
1506
|
var appRoutes = _ref.appRoutes,
|
|
1999
1507
|
breadcrumbs = _ref.breadcrumbs,
|
|
2000
|
-
|
|
2001
|
-
|
|
1508
|
+
setSearchTerm = _ref.setSearchTerm,
|
|
1509
|
+
searchTerm = _ref.searchTerm;
|
|
2002
1510
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2003
1511
|
t = _useTranslation.t;
|
|
2004
1512
|
var _useLocation = reactRouterDom.useLocation(),
|
|
@@ -2011,9 +1519,9 @@ var Header = function Header(_ref) {
|
|
|
2011
1519
|
title: t("neetoApprovals.common.approval", constants.PLURAL),
|
|
2012
1520
|
searchProps: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder) && {
|
|
2013
1521
|
onChange: function onChange(event) {
|
|
2014
|
-
return
|
|
1522
|
+
return setSearchTerm(event.target.value);
|
|
2015
1523
|
},
|
|
2016
|
-
value:
|
|
1524
|
+
value: searchTerm,
|
|
2017
1525
|
placeholder: currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder
|
|
2018
1526
|
},
|
|
2019
1527
|
breadcrumbs: breadcrumbs
|
|
@@ -2077,33 +1585,26 @@ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
2077
1585
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2078
1586
|
var Approvals = function Approvals(_ref) {
|
|
2079
1587
|
var config = _ref.config;
|
|
2080
|
-
var _useState = React.useState(
|
|
1588
|
+
var _useState = React.useState(""),
|
|
2081
1589
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2082
|
-
|
|
2083
|
-
|
|
1590
|
+
searchTerm = _useState2[0],
|
|
1591
|
+
setSearchTerm = _useState2[1];
|
|
2084
1592
|
var _useState3 = React.useState(false),
|
|
2085
1593
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
2086
1594
|
isNewTemplatePaneOpen = _useState4[0],
|
|
2087
1595
|
setIsNewTemplatePaneOpen = _useState4[1];
|
|
2088
|
-
var _useState5 = React.useState(false),
|
|
2089
|
-
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
2090
|
-
isNewApproverPaneOpen = _useState6[0],
|
|
2091
|
-
setIsNewApproverPaneOpen = _useState6[1];
|
|
2092
1596
|
var appRoutes = createRoutes({
|
|
2093
1597
|
config: config,
|
|
2094
|
-
|
|
2095
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
1598
|
+
searchTerm: searchTerm,
|
|
2096
1599
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
2097
|
-
setFilters: setFilters,
|
|
2098
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen,
|
|
2099
1600
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
2100
1601
|
});
|
|
2101
1602
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2102
1603
|
className: "neeto-approvals"
|
|
2103
1604
|
}, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header, _objectSpread$1({
|
|
2104
1605
|
appRoutes: appRoutes,
|
|
2105
|
-
|
|
2106
|
-
|
|
1606
|
+
searchTerm: searchTerm,
|
|
1607
|
+
setSearchTerm: setSearchTerm
|
|
2107
1608
|
}, config)), /*#__PURE__*/React__default["default"].createElement(Tab, {
|
|
2108
1609
|
approvalsPath: config.approvalsPath
|
|
2109
1610
|
}), /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Switch, null, appRoutes.map(function (_ref2) {
|
|
@@ -2129,15 +1630,18 @@ var Form = function Form(_ref) {
|
|
|
2129
1630
|
var isOpen = _ref.isOpen,
|
|
2130
1631
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2131
1632
|
onSubmit = _ref.onSubmit,
|
|
2132
|
-
isLoading = _ref.isLoading
|
|
1633
|
+
isLoading = _ref.isLoading,
|
|
1634
|
+
_ref$requestableId = _ref.requestableId,
|
|
1635
|
+
requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId;
|
|
2133
1636
|
var _useState = React.useState({}),
|
|
2134
1637
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2135
1638
|
selectedTemplateData = _useState2[0],
|
|
2136
1639
|
setSelectedTemplateData = _useState2[1];
|
|
2137
1640
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2138
1641
|
t = _useTranslation.t;
|
|
2139
|
-
var
|
|
2140
|
-
|
|
1642
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
1643
|
+
requestableId: requestableId
|
|
1644
|
+
}),
|
|
2141
1645
|
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
2142
1646
|
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
2143
1647
|
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
@@ -2150,39 +1654,16 @@ var Form = function Form(_ref) {
|
|
|
2150
1654
|
});
|
|
2151
1655
|
var handleTemplateChange = function handleTemplateChange(selectedTemplate, setFieldValue, resetForm) {
|
|
2152
1656
|
resetForm();
|
|
2153
|
-
var template = findById(selectedTemplate.value, templates);
|
|
1657
|
+
var template = pure.findById(selectedTemplate.value, templates);
|
|
2154
1658
|
setSelectedTemplateData(template);
|
|
2155
|
-
setFieldValue("message", template.message);
|
|
2156
|
-
var variables = Object.values(template.variables);
|
|
2157
|
-
if (isPresent(variables)) {
|
|
2158
|
-
variables.forEach(function (_, index) {
|
|
2159
|
-
return setFieldValue("variables[".concat(index, "].variable"), "");
|
|
2160
|
-
});
|
|
2161
|
-
} else {
|
|
2162
|
-
setFieldValue("variables", []);
|
|
2163
|
-
}
|
|
1659
|
+
setFieldValue("message", template.parsedMessage || template.message);
|
|
2164
1660
|
};
|
|
2165
1661
|
var onClose = function onClose() {
|
|
2166
1662
|
setIsPaneOpen(false);
|
|
2167
1663
|
setSelectedTemplateData({});
|
|
2168
1664
|
};
|
|
2169
|
-
var parseVariables = function parseVariables(variableValues) {
|
|
2170
|
-
return variables.map(function (variable, index) {
|
|
2171
|
-
var _variableValues$index;
|
|
2172
|
-
return {
|
|
2173
|
-
key: variable,
|
|
2174
|
-
value: (_variableValues$index = variableValues[index]) === null || _variableValues$index === void 0 ? void 0 : _variableValues$index["variable"]
|
|
2175
|
-
};
|
|
2176
|
-
});
|
|
2177
|
-
};
|
|
2178
1665
|
var handleSubmit = function handleSubmit(values) {
|
|
2179
|
-
|
|
2180
|
-
var parsedMessage = {
|
|
2181
|
-
message: ramda.modify("message", function (message) {
|
|
2182
|
-
return neetoEditor.substituteVariables(message, parsedVariables);
|
|
2183
|
-
}, values).message
|
|
2184
|
-
};
|
|
2185
|
-
onSubmit(parsedMessage, selectedTemplateData, onClose);
|
|
1666
|
+
return onSubmit(values, selectedTemplateData, onClose);
|
|
2186
1667
|
};
|
|
2187
1668
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
2188
1669
|
isOpen: isOpen,
|
|
@@ -2194,12 +1675,11 @@ var Form = function Form(_ref) {
|
|
|
2194
1675
|
}))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
2195
1676
|
formikProps: {
|
|
2196
1677
|
onSubmit: handleSubmit,
|
|
2197
|
-
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2198
|
-
validationSchema: APPROVAL_REQUEST_FORM_VALIDATION_SCHEMA
|
|
1678
|
+
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2199
1679
|
}
|
|
2200
1680
|
}, function (_ref2) {
|
|
1681
|
+
var _t2;
|
|
2201
1682
|
var setFieldValue = _ref2.setFieldValue,
|
|
2202
|
-
values = _ref2.values,
|
|
2203
1683
|
resetForm = _ref2.resetForm,
|
|
2204
1684
|
dirty = _ref2.dirty;
|
|
2205
1685
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -2210,30 +1690,20 @@ var Form = function Form(_ref) {
|
|
|
2210
1690
|
onChange: function onChange(selectedTemplate) {
|
|
2211
1691
|
return handleTemplateChange(selectedTemplate, setFieldValue, resetForm);
|
|
2212
1692
|
}
|
|
2213
|
-
}),
|
|
2214
|
-
className: "space-y-2"
|
|
2215
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.variableMapping")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2216
|
-
className: "neeto-ui-bg-gray-100 neeto-ui-border-gray-300 neeto-ui-rounded-lg space-y-4 border p-3"
|
|
2217
|
-
}, /*#__PURE__*/React__default["default"].createElement(formik$1.FieldArray, {
|
|
2218
|
-
name: "variables"
|
|
2219
|
-
}, function () {
|
|
2220
|
-
return variables.map(function (variable, index) {
|
|
2221
|
-
return /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
2222
|
-
required: true,
|
|
2223
|
-
className: "w-full",
|
|
2224
|
-
key: variable,
|
|
2225
|
-
label: variable,
|
|
2226
|
-
name: "variables[".concat(index, "][variable]")
|
|
2227
|
-
});
|
|
2228
|
-
});
|
|
2229
|
-
}))), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1693
|
+
}), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2230
1694
|
className: "space-y-2"
|
|
2231
1695
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React__default["default"].createElement(neetoEditor.EditorContent, {
|
|
2232
1696
|
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3",
|
|
2233
|
-
content: selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message,
|
|
2234
1697
|
name: "message",
|
|
2235
|
-
|
|
2236
|
-
}))
|
|
1698
|
+
content: (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.parsedMessage) || (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message)
|
|
1699
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
1700
|
+
label: t("neetoApprovals.inputs.labels.additionalInfo"),
|
|
1701
|
+
name: "additionalInfo",
|
|
1702
|
+
rows: 3,
|
|
1703
|
+
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1704
|
+
what: (_t2 = t("neetoApprovals.inputs.labels.additionalInfo")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase()
|
|
1705
|
+
})
|
|
1706
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
2237
1707
|
className: "flex gap-x-2"
|
|
2238
1708
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2239
1709
|
disabled: !dirty,
|