@bigbinary/neeto-approvals-frontend 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/index.cjs.js +328 -854
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +329 -855
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/translations/en.json +6 -11
- package/types.d.ts +13 -5
package/dist/index.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 neetoIcons = require('@bigbinary/neeto-icons');
|
|
27
|
+
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
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,13 @@ 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);
|
|
61
60
|
var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
|
|
62
61
|
|
|
63
62
|
function _typeof$1(obj) {
|
|
@@ -156,12 +155,9 @@ function _slicedToArray$1(arr, i) {
|
|
|
156
155
|
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1();
|
|
157
156
|
}
|
|
158
157
|
|
|
159
|
-
var BASE_URL = "neeto_approvals";
|
|
160
|
-
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
161
158
|
var routes = {
|
|
162
159
|
home: "/",
|
|
163
160
|
approvals: "/approvals/",
|
|
164
|
-
approvers: "approvers",
|
|
165
161
|
pending: "pending",
|
|
166
162
|
history: "history",
|
|
167
163
|
templates: {
|
|
@@ -173,7 +169,6 @@ var routes = {
|
|
|
173
169
|
};
|
|
174
170
|
|
|
175
171
|
new URLSearchParams(window.location.search);
|
|
176
|
-
var DEFAULT_PAGE_SIZE = 8;
|
|
177
172
|
var DEFAULT_FILTER_VALUES = {
|
|
178
173
|
searchTerm: "",
|
|
179
174
|
sortBy: "",
|
|
@@ -194,575 +189,14 @@ var STATUS_TAG_STYLE = {
|
|
|
194
189
|
};
|
|
195
190
|
var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
|
|
196
191
|
message: "",
|
|
197
|
-
|
|
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
|
-
});
|
|
192
|
+
additionalInfo: ""
|
|
193
|
+
};
|
|
206
194
|
var STATUS_UPDATED_BY = {
|
|
207
195
|
rejected: i18next.t("neetoApprovals.common.rejectedBy"),
|
|
208
196
|
approved: i18next.t("neetoApprovals.common.approvedBy"),
|
|
209
197
|
cancelled: i18next.t("neetoApprovals.common.cancelledBy")
|
|
210
198
|
};
|
|
211
199
|
|
|
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
200
|
function _arrayWithHoles(arr) {
|
|
767
201
|
if (Array.isArray(arr)) return arr;
|
|
768
202
|
}
|
|
@@ -884,16 +318,20 @@ var filterNonNull = function filterNonNull(object) {
|
|
|
884
318
|
}));
|
|
885
319
|
};
|
|
886
320
|
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
321
|
var findBy = /*#__PURE__*/ramda.curry(function (pattern, array) {
|
|
893
322
|
return array.find(matches(pattern));
|
|
894
323
|
});
|
|
895
324
|
|
|
896
|
-
var
|
|
325
|
+
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
|
|
326
|
+
if (ramda.isEmpty(data) && pageProperties.page !== 1) {
|
|
327
|
+
handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
var BASE_URL = "neeto_approvals";
|
|
332
|
+
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
333
|
+
|
|
334
|
+
var fetch$3 = function fetch(params, url) {
|
|
897
335
|
return axios__default["default"].get(url, {
|
|
898
336
|
params: params
|
|
899
337
|
});
|
|
@@ -906,12 +344,21 @@ var update$1 = function update(_ref) {
|
|
|
906
344
|
});
|
|
907
345
|
};
|
|
908
346
|
var requestsApi = {
|
|
909
|
-
fetch: fetch$
|
|
347
|
+
fetch: fetch$3,
|
|
910
348
|
update: update$1
|
|
911
349
|
};
|
|
912
350
|
|
|
913
|
-
|
|
914
|
-
|
|
351
|
+
var QUERY_KEYS = {
|
|
352
|
+
APPROVERS: "neeto-approvals-approvers",
|
|
353
|
+
TEMPLATES: "neeto-approvals-templates",
|
|
354
|
+
REQUESTS: "neeto-approvals-requests",
|
|
355
|
+
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
356
|
+
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
357
|
+
VIEWS: "neeto-approvals-views"
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
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; }
|
|
361
|
+
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
362
|
var useFetchRequests = function useFetchRequests(_ref) {
|
|
916
363
|
var requestUrl = _ref.requestUrl,
|
|
917
364
|
_ref$params = _ref.params,
|
|
@@ -920,7 +367,7 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
920
367
|
options = _ref$options === void 0 ? {} : _ref$options;
|
|
921
368
|
return reactQuery.useQuery([QUERY_KEYS.REQUESTS, params], function () {
|
|
922
369
|
return requestsApi.fetch(params, requestUrl);
|
|
923
|
-
}, _objectSpread$
|
|
370
|
+
}, _objectSpread$b({
|
|
924
371
|
select: function select(response) {
|
|
925
372
|
return response.data || response;
|
|
926
373
|
},
|
|
@@ -933,11 +380,54 @@ var useFetchRequests = function useFetchRequests(_ref) {
|
|
|
933
380
|
}, options));
|
|
934
381
|
};
|
|
935
382
|
var useUpdateRequest = function useUpdateRequest(options) {
|
|
936
|
-
return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread$
|
|
383
|
+
return reactUtils.useMutationWithInvalidation(requestsApi.update, _objectSpread$b({
|
|
937
384
|
keysToInvalidate: [QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS]
|
|
938
385
|
}, options));
|
|
939
386
|
};
|
|
940
387
|
|
|
388
|
+
var useUrlSearchParams = function useUrlSearchParams() {
|
|
389
|
+
var _useLocation = reactRouterDom.useLocation(),
|
|
390
|
+
search = _useLocation.search;
|
|
391
|
+
return React.useMemo(function () {
|
|
392
|
+
return new URLSearchParams(search);
|
|
393
|
+
}, [search]);
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
var usePaginate = function usePaginate() {
|
|
397
|
+
var urlParams = useUrlSearchParams();
|
|
398
|
+
var _useState = React.useState({
|
|
399
|
+
page: Number(urlParams.get("page")) || constants.DEFAULT_PAGE_INDEX,
|
|
400
|
+
pageSize: Number(urlParams.get("size")) || constants.DEFAULT_PAGE_SIZE
|
|
401
|
+
}),
|
|
402
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
403
|
+
pageProperties = _useState2[0],
|
|
404
|
+
setPageProperties = _useState2[1];
|
|
405
|
+
var history = reactRouterDom.useHistory();
|
|
406
|
+
var handleTablePagination = React.useCallback(function (page, pageSize) {
|
|
407
|
+
urlParams.set("page", page);
|
|
408
|
+
urlParams.set("size", pageSize);
|
|
409
|
+
history.push({
|
|
410
|
+
search: urlParams.toString()
|
|
411
|
+
});
|
|
412
|
+
setPageProperties({
|
|
413
|
+
page: page,
|
|
414
|
+
pageSize: pageSize
|
|
415
|
+
});
|
|
416
|
+
}, [urlParams, history]);
|
|
417
|
+
React.useEffect(function () {
|
|
418
|
+
var page = urlParams.get("page") || constants.DEFAULT_PAGE_INDEX;
|
|
419
|
+
var pageSize = urlParams.get("size") || constants.DEFAULT_PAGE_SIZE;
|
|
420
|
+
setPageProperties({
|
|
421
|
+
page: Number(page),
|
|
422
|
+
pageSize: Number(pageSize)
|
|
423
|
+
});
|
|
424
|
+
}, [urlParams]);
|
|
425
|
+
return {
|
|
426
|
+
pageProperties: pageProperties,
|
|
427
|
+
handleTablePagination: handleTablePagination
|
|
428
|
+
};
|
|
429
|
+
};
|
|
430
|
+
|
|
941
431
|
dayjs__default["default"].extend(utc__default["default"]);
|
|
942
432
|
dayjs__default["default"].extend(timezone__default["default"]);
|
|
943
433
|
var updateApprovalDetails = function updateApprovalDetails(_ref) {
|
|
@@ -969,10 +459,6 @@ var getApprovalFilter = function getApprovalFilter() {
|
|
|
969
459
|
HISTORY: {
|
|
970
460
|
label: i18next.t("neetoApprovals.common.history"),
|
|
971
461
|
value: "HISTORY"
|
|
972
|
-
},
|
|
973
|
-
APPROVERS: {
|
|
974
|
-
label: i18next.t("neetoApprovals.common.approver", constants.PLURAL),
|
|
975
|
-
value: "APPROVERS"
|
|
976
462
|
}
|
|
977
463
|
};
|
|
978
464
|
};
|
|
@@ -1039,6 +525,7 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1039
525
|
_approvalDetails$stat = approvalDetails.status,
|
|
1040
526
|
status = _approvalDetails$stat === void 0 ? "" : _approvalDetails$stat,
|
|
1041
527
|
message = approvalDetails.message,
|
|
528
|
+
additionalInfo = approvalDetails.additionalInfo,
|
|
1042
529
|
createdAt = approvalDetails.createdAt,
|
|
1043
530
|
approverName = approvalDetails.approverName,
|
|
1044
531
|
approverEmail = approvalDetails.approverEmail,
|
|
@@ -1098,6 +585,11 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1098
585
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent$1, {
|
|
1099
586
|
className: "neeto-ui-bg-gray-100 p-4",
|
|
1100
587
|
content: message
|
|
588
|
+
})), additionalInfo && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
589
|
+
className: "w-full space-y-2"
|
|
590
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.additionalInfo")), /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent$1, {
|
|
591
|
+
className: "neeto-ui-bg-gray-100 p-4",
|
|
592
|
+
content: additionalInfo
|
|
1101
593
|
})), isPending && isCurrentUserApprover && /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, {
|
|
1102
594
|
className: "w-full",
|
|
1103
595
|
disabled: !isPending,
|
|
@@ -1130,8 +622,8 @@ var ApprovalsDetails = function ApprovalsDetails(_ref) {
|
|
|
1130
622
|
})));
|
|
1131
623
|
};
|
|
1132
624
|
|
|
1133
|
-
function ownKeys$
|
|
1134
|
-
function _objectSpread$
|
|
625
|
+
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; }
|
|
626
|
+
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
627
|
var History = function History(_ref) {
|
|
1136
628
|
var _t;
|
|
1137
629
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1150,7 +642,7 @@ var History = function History(_ref) {
|
|
|
1150
642
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1151
643
|
t = _useTranslation.t;
|
|
1152
644
|
var _useFetchRequests = useFetchRequests({
|
|
1153
|
-
params: _objectSpread$
|
|
645
|
+
params: _objectSpread$a(_objectSpread$a(_objectSpread$a({}, pageProperties), filters), {}, {
|
|
1154
646
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1155
647
|
status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
|
|
1156
648
|
}),
|
|
@@ -1174,7 +666,7 @@ var History = function History(_ref) {
|
|
|
1174
666
|
_useFetchRequests$dat4 = _useFetchRequests$dat2.totalCount,
|
|
1175
667
|
totalCount = _useFetchRequests$dat4 === void 0 ? 0 : _useFetchRequests$dat4;
|
|
1176
668
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1177
|
-
setFilters(_objectSpread$
|
|
669
|
+
setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
|
|
1178
670
|
sortBy: camelToSnakeCase(sorter.field),
|
|
1179
671
|
orderBy: sorter.order
|
|
1180
672
|
}));
|
|
@@ -1191,7 +683,7 @@ var History = function History(_ref) {
|
|
|
1191
683
|
totalCount: totalCount,
|
|
1192
684
|
handlePageChange: handleTablePagination,
|
|
1193
685
|
paginationProps: {
|
|
1194
|
-
hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < DEFAULT_PAGE_SIZE + 1
|
|
686
|
+
hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1195
687
|
},
|
|
1196
688
|
onChange: handleTableChange,
|
|
1197
689
|
onRowClick: function onRowClick(_, approvalDetails) {
|
|
@@ -1216,8 +708,8 @@ var PENDING_TABLE_COLUMNS = pure.removeBy({
|
|
|
1216
708
|
key: "status"
|
|
1217
709
|
}, HISTORY_TABLE_COLUMNS);
|
|
1218
710
|
|
|
1219
|
-
function ownKeys$
|
|
1220
|
-
function _objectSpread$
|
|
711
|
+
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; }
|
|
712
|
+
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
713
|
var PendingRequests = function PendingRequests(_ref) {
|
|
1222
714
|
var _t;
|
|
1223
715
|
var requestUrl = _ref.requestUrl;
|
|
@@ -1236,7 +728,7 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1236
728
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1237
729
|
t = _useTranslation.t;
|
|
1238
730
|
var _useFetchRequests = useFetchRequests({
|
|
1239
|
-
params: _objectSpread$
|
|
731
|
+
params: _objectSpread$9(_objectSpread$9(_objectSpread$9({}, pageProperties), filters), {}, {
|
|
1240
732
|
searchTerm: debouncedSearchTerm.trim(),
|
|
1241
733
|
status: [STATUSES.pending]
|
|
1242
734
|
}),
|
|
@@ -1257,7 +749,7 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1257
749
|
updatePendingRequest = _useUpdateRequest.mutate,
|
|
1258
750
|
isLoading = _useUpdateRequest.isLoading;
|
|
1259
751
|
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1260
|
-
setFilters(_objectSpread$
|
|
752
|
+
setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
|
|
1261
753
|
sortBy: camelToSnakeCase(sorter.field),
|
|
1262
754
|
orderBy: sorter.order
|
|
1263
755
|
}));
|
|
@@ -1284,7 +776,7 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1284
776
|
totalCount: totalCount,
|
|
1285
777
|
handlePageChange: handleTablePagination,
|
|
1286
778
|
paginationProps: {
|
|
1287
|
-
hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < DEFAULT_PAGE_SIZE + 1
|
|
779
|
+
hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1288
780
|
},
|
|
1289
781
|
onChange: handleTableChange,
|
|
1290
782
|
onRowClick: function onRowClick(_, approvalDetails) {
|
|
@@ -1308,7 +800,51 @@ var PendingRequests = function PendingRequests(_ref) {
|
|
|
1308
800
|
}));
|
|
1309
801
|
};
|
|
1310
802
|
|
|
1311
|
-
|
|
803
|
+
function _extends() {
|
|
804
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
805
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
806
|
+
var source = arguments[i];
|
|
807
|
+
for (var key in source) {
|
|
808
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
809
|
+
target[key] = source[key];
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
return target;
|
|
814
|
+
};
|
|
815
|
+
return _extends.apply(this, arguments);
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
819
|
+
if (source == null) return {};
|
|
820
|
+
var target = {};
|
|
821
|
+
var sourceKeys = Object.keys(source);
|
|
822
|
+
var key, i;
|
|
823
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
824
|
+
key = sourceKeys[i];
|
|
825
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
826
|
+
target[key] = source[key];
|
|
827
|
+
}
|
|
828
|
+
return target;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
function _objectWithoutProperties(source, excluded) {
|
|
832
|
+
if (source == null) return {};
|
|
833
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
834
|
+
var key, i;
|
|
835
|
+
if (Object.getOwnPropertySymbols) {
|
|
836
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
837
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
838
|
+
key = sourceSymbolKeys[i];
|
|
839
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
840
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
841
|
+
target[key] = source[key];
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
return target;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
var fetch$2 = function fetch(params) {
|
|
1312
848
|
return axios__default["default"].get(TEMPLATE_URL, {
|
|
1313
849
|
params: params
|
|
1314
850
|
});
|
|
@@ -1335,20 +871,20 @@ var destroy = function destroy(_ref3) {
|
|
|
1335
871
|
};
|
|
1336
872
|
var templatesApi = {
|
|
1337
873
|
create: create,
|
|
1338
|
-
fetch: fetch$
|
|
874
|
+
fetch: fetch$2,
|
|
1339
875
|
update: update,
|
|
1340
876
|
destroy: destroy,
|
|
1341
877
|
show: show$1
|
|
1342
878
|
};
|
|
1343
879
|
|
|
1344
|
-
function ownKeys$
|
|
1345
|
-
function _objectSpread$
|
|
880
|
+
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; }
|
|
881
|
+
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
882
|
var useFetchTemplates = function useFetchTemplates() {
|
|
1347
883
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1348
884
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1349
885
|
return reactQuery.useQuery([QUERY_KEYS.TEMPLATES, params], function () {
|
|
1350
886
|
return templatesApi.fetch(params);
|
|
1351
|
-
}, _objectSpread$
|
|
887
|
+
}, _objectSpread$8({
|
|
1352
888
|
select: function select(response) {
|
|
1353
889
|
return response.data || response;
|
|
1354
890
|
},
|
|
@@ -1361,12 +897,12 @@ var useFetchTemplates = function useFetchTemplates() {
|
|
|
1361
897
|
}, options));
|
|
1362
898
|
};
|
|
1363
899
|
var useCreateTemplate = function useCreateTemplate(options) {
|
|
1364
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.create, _objectSpread$
|
|
900
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.create, _objectSpread$8({
|
|
1365
901
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1366
902
|
}, options));
|
|
1367
903
|
};
|
|
1368
904
|
var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
1369
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.update, _objectSpread$
|
|
905
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.update, _objectSpread$8({
|
|
1370
906
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, function (_, _ref3) {
|
|
1371
907
|
var id = _ref3.id;
|
|
1372
908
|
return [QUERY_KEYS.SHOW_TEMPLATE, id];
|
|
@@ -1374,39 +910,44 @@ var useUpdateTemplate = function useUpdateTemplate(options) {
|
|
|
1374
910
|
}, options));
|
|
1375
911
|
};
|
|
1376
912
|
var useDeleteTemplate = function useDeleteTemplate(options) {
|
|
1377
|
-
return reactUtils.useMutationWithInvalidation(templatesApi.destroy, _objectSpread$
|
|
913
|
+
return reactUtils.useMutationWithInvalidation(templatesApi.destroy, _objectSpread$8({
|
|
1378
914
|
keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS]
|
|
1379
915
|
}, options));
|
|
1380
916
|
};
|
|
1381
917
|
|
|
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
|
-
}
|
|
918
|
+
var fetch$1 = function fetch(params) {
|
|
919
|
+
return axios__default["default"].get("".concat(BASE_URL, "/approvers"), {
|
|
920
|
+
params: params
|
|
921
|
+
});
|
|
922
|
+
};
|
|
923
|
+
var approversApi = {
|
|
924
|
+
fetch: fetch$1
|
|
925
|
+
};
|
|
1397
926
|
|
|
1398
|
-
var
|
|
1399
|
-
var
|
|
1400
|
-
var
|
|
1401
|
-
|
|
1402
|
-
|
|
927
|
+
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; }
|
|
928
|
+
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; }
|
|
929
|
+
var useFetchApprovers = function useFetchApprovers() {
|
|
930
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
931
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
932
|
+
return reactQuery.useQuery([QUERY_KEYS.APPROVERS, params], function () {
|
|
933
|
+
return approversApi.fetch(params);
|
|
934
|
+
}, _objectSpread$7({
|
|
935
|
+
select: function select(response) {
|
|
936
|
+
return response.data || response;
|
|
937
|
+
},
|
|
938
|
+
keepPreviousData: true,
|
|
939
|
+
onSuccess: function onSuccess(_ref) {
|
|
940
|
+
var _params$onSuccess;
|
|
941
|
+
var approvers = _ref.approvers;
|
|
942
|
+
return params === null || params === void 0 ? void 0 : (_params$onSuccess = params.onSuccess) === null || _params$onSuccess === void 0 ? void 0 : _params$onSuccess.call(params, approvers);
|
|
943
|
+
}
|
|
944
|
+
}, options));
|
|
1403
945
|
};
|
|
946
|
+
|
|
1404
947
|
var TEMPLATE_FORM_INITIAL_VALUES = {
|
|
1405
948
|
name: "",
|
|
1406
949
|
description: "",
|
|
1407
|
-
visibility: EVERYONE_VISIBILITY,
|
|
1408
950
|
approver: "",
|
|
1409
|
-
variables: [],
|
|
1410
951
|
message: ""
|
|
1411
952
|
};
|
|
1412
953
|
var TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
@@ -1418,87 +959,27 @@ var TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
|
1418
959
|
what: i18next.t("neetoApprovals.inputs.labels.message")
|
|
1419
960
|
}), function (content) {
|
|
1420
961
|
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
|
-
}))
|
|
962
|
+
})
|
|
1427
963
|
});
|
|
1428
964
|
|
|
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, {
|
|
965
|
+
var MessageEditor = reactUtils.withT(function (_ref) {
|
|
966
|
+
var t = _ref.t,
|
|
967
|
+
_ref$placeholders = _ref.placeholders,
|
|
968
|
+
placeholders = _ref$placeholders === void 0 ? [] : _ref$placeholders;
|
|
969
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
1485
970
|
required: true,
|
|
1486
|
-
key: variables,
|
|
1487
971
|
label: t("neetoApprovals.inputs.labels.message"),
|
|
1488
972
|
name: "message",
|
|
1489
973
|
rows: 3,
|
|
1490
|
-
variables:
|
|
974
|
+
variables: placeholders,
|
|
1491
975
|
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1492
976
|
what: t("neetoApprovals.inputs.labels.message")
|
|
1493
|
-
})
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
}
|
|
1497
|
-
}));
|
|
1498
|
-
};
|
|
977
|
+
})
|
|
978
|
+
});
|
|
979
|
+
});
|
|
1499
980
|
|
|
1500
981
|
var Form$1 = function Form(_ref) {
|
|
1501
|
-
var _t
|
|
982
|
+
var _t;
|
|
1502
983
|
var isOpen = _ref.isOpen,
|
|
1503
984
|
onClose = _ref.onClose,
|
|
1504
985
|
_ref$initialData = _ref.initialData,
|
|
@@ -1507,7 +988,7 @@ var Form$1 = function Form(_ref) {
|
|
|
1507
988
|
onSubmit = _ref$onSubmit === void 0 ? noop : _ref$onSubmit,
|
|
1508
989
|
_ref$isLoading = _ref.isLoading,
|
|
1509
990
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
1510
|
-
|
|
991
|
+
placeholders = _ref.placeholders;
|
|
1511
992
|
var inputReference = React.useRef(null);
|
|
1512
993
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1513
994
|
t = _useTranslation.t;
|
|
@@ -1516,10 +997,10 @@ var Form$1 = function Form(_ref) {
|
|
|
1516
997
|
_useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
|
|
1517
998
|
_useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
|
|
1518
999
|
approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3;
|
|
1519
|
-
var header = ramda.isEmpty(initialData) ? t("neetoApprovals.common.
|
|
1520
|
-
what: t("neetoApprovals.common.
|
|
1000
|
+
var header = ramda.isEmpty(initialData) ? t("neetoApprovals.common.addNew_", {
|
|
1001
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR).toLocaleLowerCase()
|
|
1521
1002
|
}) : t("neetoApprovals.common.edit_", {
|
|
1522
|
-
what: t("neetoApprovals.common.
|
|
1003
|
+
what: t("neetoApprovals.common.template", constants.SINGULAR).toLocaleLowerCase()
|
|
1523
1004
|
});
|
|
1524
1005
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1525
1006
|
initialFocusRef: inputReference,
|
|
@@ -1540,7 +1021,6 @@ var Form$1 = function Form(_ref) {
|
|
|
1540
1021
|
}, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
|
|
1541
1022
|
autoFocus: true,
|
|
1542
1023
|
required: true,
|
|
1543
|
-
className: "w-1/2",
|
|
1544
1024
|
label: t("neetoApprovals.common.name"),
|
|
1545
1025
|
name: "name",
|
|
1546
1026
|
placeholder: t("neetoApprovals.inputs.placeholders.name")
|
|
@@ -1564,14 +1044,9 @@ var Form$1 = function Form(_ref) {
|
|
|
1564
1044
|
placeholder: t("neetoApprovals.inputs.placeholders.select_", {
|
|
1565
1045
|
what: (_t = t("neetoApprovals.common.approver", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1566
1046
|
})
|
|
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, {
|
|
1047
|
+
})), /*#__PURE__*/React__default["default"].createElement(MessageEditor, {
|
|
1048
|
+
placeholders: placeholders
|
|
1049
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
1575
1050
|
className: "flex gap-x-2"
|
|
1576
1051
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1577
1052
|
label: t("neetoApprovals.buttons.saveChanges"),
|
|
@@ -1584,45 +1059,31 @@ var Form$1 = function Form(_ref) {
|
|
|
1584
1059
|
})))));
|
|
1585
1060
|
};
|
|
1586
1061
|
|
|
1587
|
-
function ownKeys$
|
|
1588
|
-
function _objectSpread$
|
|
1062
|
+
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; }
|
|
1063
|
+
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
1064
|
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
|
-
});
|
|
1065
|
+
var approver = template.approver;
|
|
1597
1066
|
var payload = {
|
|
1598
|
-
template: _objectSpread$
|
|
1599
|
-
|
|
1600
|
-
approverId: approver.value,
|
|
1601
|
-
variables: ramda.fromPairs(indexedVariables)
|
|
1067
|
+
template: _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1068
|
+
approverId: approver.value
|
|
1602
1069
|
})
|
|
1603
1070
|
};
|
|
1604
1071
|
return payload;
|
|
1605
1072
|
};
|
|
1606
1073
|
var generateInitialData = function generateInitialData(template) {
|
|
1607
|
-
return _objectSpread$
|
|
1608
|
-
visibility: template.accessibleId || EVERYONE_VISIBILITY.value,
|
|
1074
|
+
return _objectSpread$6(_objectSpread$6({}, template), {}, {
|
|
1609
1075
|
approver: {
|
|
1610
1076
|
label: template.approverName,
|
|
1611
1077
|
value: template.approverId
|
|
1612
|
-
}
|
|
1613
|
-
variables: template.variables && Object.values(template.variables).map(function (variable) {
|
|
1614
|
-
return {
|
|
1615
|
-
variable: variable
|
|
1616
|
-
};
|
|
1617
|
-
})
|
|
1078
|
+
}
|
|
1618
1079
|
});
|
|
1619
1080
|
};
|
|
1620
1081
|
|
|
1621
1082
|
var Create = function Create(_ref) {
|
|
1622
|
-
var
|
|
1623
|
-
templateUrl = _ref.templateUrl,
|
|
1083
|
+
var templateUrl = _ref.templateUrl,
|
|
1624
1084
|
isOpen = _ref.isOpen,
|
|
1625
|
-
onClose = _ref.onClose
|
|
1085
|
+
onClose = _ref.onClose,
|
|
1086
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1626
1087
|
var _useCreateTemplate = useCreateTemplate(),
|
|
1627
1088
|
createTemplate = _useCreateTemplate.mutate,
|
|
1628
1089
|
isLoading = _useCreateTemplate.isLoading;
|
|
@@ -1636,21 +1097,21 @@ var Create = function Create(_ref) {
|
|
|
1636
1097
|
});
|
|
1637
1098
|
};
|
|
1638
1099
|
return /*#__PURE__*/React__default["default"].createElement(Form$1, {
|
|
1100
|
+
placeholders: templatePlaceholders,
|
|
1639
1101
|
isLoading: isLoading,
|
|
1640
1102
|
isOpen: isOpen,
|
|
1641
1103
|
onClose: onClose,
|
|
1642
|
-
onSubmit: onSubmit
|
|
1643
|
-
visibilityOptions: visibilityOptions
|
|
1104
|
+
onSubmit: onSubmit
|
|
1644
1105
|
});
|
|
1645
1106
|
};
|
|
1646
1107
|
|
|
1647
1108
|
var Edit = function Edit(_ref) {
|
|
1648
|
-
var
|
|
1649
|
-
templateUrl = _ref.templateUrl,
|
|
1109
|
+
var templateUrl = _ref.templateUrl,
|
|
1650
1110
|
template = _ref.template,
|
|
1651
1111
|
setTemplate = _ref.setTemplate,
|
|
1652
1112
|
isOpen = _ref.isOpen,
|
|
1653
|
-
onClose = _ref.onClose
|
|
1113
|
+
onClose = _ref.onClose,
|
|
1114
|
+
templatePlaceholders = _ref.templatePlaceholders;
|
|
1654
1115
|
var _useUpdateTemplate = useUpdateTemplate({
|
|
1655
1116
|
onSuccess: function onSuccess() {
|
|
1656
1117
|
return setTemplate({});
|
|
@@ -1669,10 +1130,10 @@ var Edit = function Edit(_ref) {
|
|
|
1669
1130
|
return /*#__PURE__*/React__default["default"].createElement(Form$1, {
|
|
1670
1131
|
initialData: generateInitialData(template),
|
|
1671
1132
|
isLoading: isUpdating,
|
|
1133
|
+
placeholders: templatePlaceholders,
|
|
1672
1134
|
isOpen: isOpen,
|
|
1673
1135
|
onClose: onClose,
|
|
1674
|
-
onSubmit: onSubmit
|
|
1675
|
-
visibilityOptions: visibilityOptions
|
|
1136
|
+
onSubmit: onSubmit
|
|
1676
1137
|
});
|
|
1677
1138
|
};
|
|
1678
1139
|
|
|
@@ -1691,7 +1152,6 @@ var Field$1 = /*#__PURE__*/React__default["default"].memo(Field);
|
|
|
1691
1152
|
|
|
1692
1153
|
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(neetoEditor.EditorContent);
|
|
1693
1154
|
var TemplateDetails = function TemplateDetails(_ref) {
|
|
1694
|
-
var _Object$entries;
|
|
1695
1155
|
var isOpen = _ref.isOpen,
|
|
1696
1156
|
onClose = _ref.onClose,
|
|
1697
1157
|
template = _ref.template;
|
|
@@ -1700,8 +1160,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1700
1160
|
var name = template.name,
|
|
1701
1161
|
description = template.description,
|
|
1702
1162
|
approverName = template.approverName,
|
|
1703
|
-
accessible = template.accessible,
|
|
1704
|
-
variables = template.variables,
|
|
1705
1163
|
message = template.message;
|
|
1706
1164
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1707
1165
|
isOpen: isOpen,
|
|
@@ -1721,18 +1179,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
|
|
|
1721
1179
|
}), /*#__PURE__*/React__default["default"].createElement(Field$1, {
|
|
1722
1180
|
label: t("neetoApprovals.common.approver", constants.SINGULAR),
|
|
1723
1181
|
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
1182
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1737
1183
|
className: "flex w-full flex-col space-y-4"
|
|
1738
1184
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
|
|
@@ -1754,13 +1200,9 @@ var columnData = function columnData(_ref) {
|
|
|
1754
1200
|
sorter: true,
|
|
1755
1201
|
title: i18next__default["default"].t("neetoApprovals.common.name")
|
|
1756
1202
|
}, {
|
|
1757
|
-
dataIndex: "
|
|
1758
|
-
key: "
|
|
1759
|
-
title: i18next__default["default"].t("neetoApprovals.common.
|
|
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
|
-
}
|
|
1203
|
+
dataIndex: "approverName",
|
|
1204
|
+
key: "approverName",
|
|
1205
|
+
title: i18next__default["default"].t("neetoApprovals.common.approver", constants.SINGULAR)
|
|
1764
1206
|
}, {
|
|
1765
1207
|
key: "actions",
|
|
1766
1208
|
ellipsis: true,
|
|
@@ -1794,6 +1236,99 @@ var columnData = function columnData(_ref) {
|
|
|
1794
1236
|
}];
|
|
1795
1237
|
};
|
|
1796
1238
|
|
|
1239
|
+
var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
|
|
1240
|
+
var entity = _ref.entity,
|
|
1241
|
+
url = _ref.url;
|
|
1242
|
+
return /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
1243
|
+
i18nKey: "neetoApprovals.common.noDataHelpText",
|
|
1244
|
+
values: {
|
|
1245
|
+
entity: entity
|
|
1246
|
+
},
|
|
1247
|
+
components: {
|
|
1248
|
+
a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
1249
|
+
className: "neeto-ui-text-primary-600 underline",
|
|
1250
|
+
target: "_blank",
|
|
1251
|
+
to: {
|
|
1252
|
+
pathname: url
|
|
1253
|
+
}
|
|
1254
|
+
})
|
|
1255
|
+
}
|
|
1256
|
+
});
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
|
|
1260
|
+
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; }
|
|
1261
|
+
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; }
|
|
1262
|
+
var Table = function Table(_ref) {
|
|
1263
|
+
var _t;
|
|
1264
|
+
var entity = _ref.entity,
|
|
1265
|
+
columnData = _ref.columnData,
|
|
1266
|
+
items = _ref.items,
|
|
1267
|
+
totalCount = _ref.totalCount,
|
|
1268
|
+
filters = _ref.filters,
|
|
1269
|
+
setFilters = _ref.setFilters,
|
|
1270
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
1271
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
1272
|
+
onEditClick = _ref.onEditClick,
|
|
1273
|
+
onDeleteClick = _ref.onDeleteClick,
|
|
1274
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
1275
|
+
var _usePaginate = usePaginate(),
|
|
1276
|
+
pageProperties = _usePaginate.pageProperties,
|
|
1277
|
+
handleTablePagination = _usePaginate.handleTablePagination;
|
|
1278
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1279
|
+
t = _useTranslation.t;
|
|
1280
|
+
var columns = columnData({
|
|
1281
|
+
onEditClick: onEditClick,
|
|
1282
|
+
onDeleteClick: onDeleteClick
|
|
1283
|
+
});
|
|
1284
|
+
var handleTableChange = function handleTableChange(_, __, sorter) {
|
|
1285
|
+
setFilters(_objectSpread$5(_objectSpread$5({}, filters), {}, {
|
|
1286
|
+
sortBy: sorter.field,
|
|
1287
|
+
orderBy: sorter.order
|
|
1288
|
+
}));
|
|
1289
|
+
};
|
|
1290
|
+
var noDataProps = {
|
|
1291
|
+
primaryButtonProps: {
|
|
1292
|
+
label: t("neetoApprovals.common.addNew_", {
|
|
1293
|
+
what: (_t = t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1294
|
+
}),
|
|
1295
|
+
onClick: function onClick() {
|
|
1296
|
+
return setIsPaneOpen(true);
|
|
1297
|
+
}
|
|
1298
|
+
},
|
|
1299
|
+
helpText: renderNoDataHelpText({
|
|
1300
|
+
entity: entity,
|
|
1301
|
+
url: helpDocUrl
|
|
1302
|
+
})
|
|
1303
|
+
};
|
|
1304
|
+
if (ramda.isEmpty(items)) {
|
|
1305
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1306
|
+
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
1307
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({
|
|
1308
|
+
title: t("neetoApprovals.common.notFound_", {
|
|
1309
|
+
what: entity
|
|
1310
|
+
})
|
|
1311
|
+
}, !filters.searchTerm && noDataProps)));
|
|
1312
|
+
}
|
|
1313
|
+
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
|
|
1314
|
+
className: "mt-12",
|
|
1315
|
+
hasPagination: totalCount > pageProperties.pageSize
|
|
1316
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, _extends({
|
|
1317
|
+
fixedHeight: true,
|
|
1318
|
+
columnData: columns,
|
|
1319
|
+
currentPageNumber: pageProperties.page,
|
|
1320
|
+
defaultPageSize: pageProperties.pageSize,
|
|
1321
|
+
handlePageChange: handleTablePagination,
|
|
1322
|
+
rowData: items,
|
|
1323
|
+
paginationProps: {
|
|
1324
|
+
hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < constants.DEFAULT_PAGE_SIZE + 1
|
|
1325
|
+
},
|
|
1326
|
+
onChange: handleTableChange
|
|
1327
|
+
}, _objectSpread$5({
|
|
1328
|
+
totalCount: totalCount
|
|
1329
|
+
}, otherProps))));
|
|
1330
|
+
};
|
|
1331
|
+
|
|
1797
1332
|
var _excluded = ["filters", "isNewTemplatePaneOpen", "setFilters", "setIsNewTemplatePaneOpen", "helpDocUrl"];
|
|
1798
1333
|
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
1334
|
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; }
|
|
@@ -1929,35 +1464,10 @@ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) {
|
|
|
1929
1464
|
var createRoutes = function createRoutes(_ref) {
|
|
1930
1465
|
var config = _ref.config,
|
|
1931
1466
|
filters = _ref.filters,
|
|
1932
|
-
isNewApproverPaneOpen = _ref.isNewApproverPaneOpen,
|
|
1933
1467
|
isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
|
|
1934
1468
|
setFilters = _ref.setFilters,
|
|
1935
|
-
setIsNewApproverPaneOpen = _ref.setIsNewApproverPaneOpen,
|
|
1936
1469
|
setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
|
|
1937
1470
|
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
1471
|
component: function component() {
|
|
1962
1472
|
return /*#__PURE__*/React__default["default"].createElement(Templates, _objectSpread$3({
|
|
1963
1473
|
filters: filters,
|
|
@@ -1968,9 +1478,10 @@ var createRoutes = function createRoutes(_ref) {
|
|
|
1968
1478
|
},
|
|
1969
1479
|
path: "".concat(config.approvalsPath).concat(routes.templates.index),
|
|
1970
1480
|
actionBlock: function actionBlock() {
|
|
1481
|
+
var _t;
|
|
1971
1482
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
1972
|
-
label: i18next.t("neetoApprovals.common.
|
|
1973
|
-
what: i18next.t("neetoApprovals.common.
|
|
1483
|
+
label: i18next.t("neetoApprovals.common.addNew_", {
|
|
1484
|
+
what: (_t = i18next.t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
|
|
1974
1485
|
}),
|
|
1975
1486
|
onClick: function onClick() {
|
|
1976
1487
|
return setIsNewTemplatePaneOpen(true);
|
|
@@ -2085,17 +1596,11 @@ var Approvals = function Approvals(_ref) {
|
|
|
2085
1596
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
2086
1597
|
isNewTemplatePaneOpen = _useState4[0],
|
|
2087
1598
|
setIsNewTemplatePaneOpen = _useState4[1];
|
|
2088
|
-
var _useState5 = React.useState(false),
|
|
2089
|
-
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
2090
|
-
isNewApproverPaneOpen = _useState6[0],
|
|
2091
|
-
setIsNewApproverPaneOpen = _useState6[1];
|
|
2092
1599
|
var appRoutes = createRoutes({
|
|
2093
1600
|
config: config,
|
|
2094
1601
|
filters: filters,
|
|
2095
|
-
isNewApproverPaneOpen: isNewApproverPaneOpen,
|
|
2096
1602
|
isNewTemplatePaneOpen: isNewTemplatePaneOpen,
|
|
2097
1603
|
setFilters: setFilters,
|
|
2098
|
-
setIsNewApproverPaneOpen: setIsNewApproverPaneOpen,
|
|
2099
1604
|
setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
|
|
2100
1605
|
});
|
|
2101
1606
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -2129,15 +1634,18 @@ var Form = function Form(_ref) {
|
|
|
2129
1634
|
var isOpen = _ref.isOpen,
|
|
2130
1635
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2131
1636
|
onSubmit = _ref.onSubmit,
|
|
2132
|
-
isLoading = _ref.isLoading
|
|
1637
|
+
isLoading = _ref.isLoading,
|
|
1638
|
+
_ref$requestableId = _ref.requestableId,
|
|
1639
|
+
requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId;
|
|
2133
1640
|
var _useState = React.useState({}),
|
|
2134
1641
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2135
1642
|
selectedTemplateData = _useState2[0],
|
|
2136
1643
|
setSelectedTemplateData = _useState2[1];
|
|
2137
1644
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2138
1645
|
t = _useTranslation.t;
|
|
2139
|
-
var
|
|
2140
|
-
|
|
1646
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
1647
|
+
requestableId: requestableId
|
|
1648
|
+
}),
|
|
2141
1649
|
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
2142
1650
|
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
2143
1651
|
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
@@ -2150,39 +1658,16 @@ var Form = function Form(_ref) {
|
|
|
2150
1658
|
});
|
|
2151
1659
|
var handleTemplateChange = function handleTemplateChange(selectedTemplate, setFieldValue, resetForm) {
|
|
2152
1660
|
resetForm();
|
|
2153
|
-
var template = findById(selectedTemplate.value, templates);
|
|
1661
|
+
var template = pure.findById(selectedTemplate.value, templates);
|
|
2154
1662
|
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
|
-
}
|
|
1663
|
+
setFieldValue("message", template.parsedMessage || template.message);
|
|
2164
1664
|
};
|
|
2165
1665
|
var onClose = function onClose() {
|
|
2166
1666
|
setIsPaneOpen(false);
|
|
2167
1667
|
setSelectedTemplateData({});
|
|
2168
1668
|
};
|
|
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
1669
|
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);
|
|
1670
|
+
return onSubmit(values, selectedTemplateData, onClose);
|
|
2186
1671
|
};
|
|
2187
1672
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
2188
1673
|
isOpen: isOpen,
|
|
@@ -2194,12 +1679,11 @@ var Form = function Form(_ref) {
|
|
|
2194
1679
|
}))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
2195
1680
|
formikProps: {
|
|
2196
1681
|
onSubmit: handleSubmit,
|
|
2197
|
-
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2198
|
-
validationSchema: APPROVAL_REQUEST_FORM_VALIDATION_SCHEMA
|
|
1682
|
+
initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES
|
|
2199
1683
|
}
|
|
2200
1684
|
}, function (_ref2) {
|
|
1685
|
+
var _t2;
|
|
2201
1686
|
var setFieldValue = _ref2.setFieldValue,
|
|
2202
|
-
values = _ref2.values,
|
|
2203
1687
|
resetForm = _ref2.resetForm,
|
|
2204
1688
|
dirty = _ref2.dirty;
|
|
2205
1689
|
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 +1694,20 @@ var Form = function Form(_ref) {
|
|
|
2210
1694
|
onChange: function onChange(selectedTemplate) {
|
|
2211
1695
|
return handleTemplateChange(selectedTemplate, setFieldValue, resetForm);
|
|
2212
1696
|
}
|
|
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", {
|
|
1697
|
+
}), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2230
1698
|
className: "space-y-2"
|
|
2231
1699
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoApprovals.inputs.labels.message")), /*#__PURE__*/React__default["default"].createElement(neetoEditor.EditorContent, {
|
|
2232
1700
|
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3",
|
|
2233
|
-
content: selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message,
|
|
2234
1701
|
name: "message",
|
|
2235
|
-
|
|
2236
|
-
}))
|
|
1702
|
+
content: (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.parsedMessage) || (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message)
|
|
1703
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
1704
|
+
label: t("neetoApprovals.inputs.labels.additionalInfo"),
|
|
1705
|
+
name: "additionalInfo",
|
|
1706
|
+
rows: 3,
|
|
1707
|
+
placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
|
|
1708
|
+
what: (_t2 = t("neetoApprovals.inputs.labels.additionalInfo")) === null || _t2 === void 0 ? void 0 : _t2.toLocaleLowerCase()
|
|
1709
|
+
})
|
|
1710
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
2237
1711
|
className: "flex gap-x-2"
|
|
2238
1712
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2239
1713
|
disabled: !dirty,
|