@stssocialst-stp/fe-payroll 0.3.5 → 0.3.6
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/dist/index.es.js +164 -11
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +155 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -762,7 +762,12 @@ var messages_en = {
|
|
|
762
762
|
"payroll.bistp.status.pending": "Sent to Bank",
|
|
763
763
|
"payroll.bistp.status.skippedNib": "No NIB",
|
|
764
764
|
"payroll.bistp.status.sendFailed": "Send Failed",
|
|
765
|
+
"payroll.bistp.status.enviados": "Sent to BISTP",
|
|
765
766
|
"payroll.bistp.progress": "BISTP Progress",
|
|
767
|
+
"payroll.async.generating": "Generating beneficiaries in background...",
|
|
768
|
+
"payroll.async.createdSoFar": "{benefitCount} created so far",
|
|
769
|
+
"payroll.async.note": "This process may take a few minutes. You can close this page - the process continues in the background.",
|
|
770
|
+
"payroll.async.timedOut": "The background generation process took too long. Please refresh this page to check the current status.",
|
|
766
771
|
"payroll.route.beneficiariesManagement": "Beneficiary Management",
|
|
767
772
|
"payroll.beneficiaries.management.title": "Beneficiary Management",
|
|
768
773
|
"payroll.beneficiaries.management.noPermission": "You do not have permission to manage beneficiaries.",
|
|
@@ -3211,6 +3216,99 @@ var mapDispatchToProps$b = function mapDispatchToProps(dispatch) {
|
|
|
3211
3216
|
};
|
|
3212
3217
|
var PaymentApproveForPaymentSummary = reactRedux.connect(mapStateToProps$b, mapDispatchToProps$b)(PaymentApproveForPaymentDialog);
|
|
3213
3218
|
|
|
3219
|
+
var POLL_INTERVAL_MS = 5000;
|
|
3220
|
+
var TIMEOUT_MS = 600000;
|
|
3221
|
+
var COUNT_QUERY = function COUNT_QUERY(payrollUuid) {
|
|
3222
|
+
return "\n {\n benefitConsumptionByPayroll(payrollUuid: \"".concat(payrollUuid, "\", first: 0, isDeleted: false) {\n totalCount\n }\n }\n");
|
|
3223
|
+
};
|
|
3224
|
+
function useAsyncPayrollProgress(_ref) {
|
|
3225
|
+
var payrollUuid = _ref.payrollUuid,
|
|
3226
|
+
payrollStatus = _ref.payrollStatus;
|
|
3227
|
+
var dispatch = reactRedux.useDispatch();
|
|
3228
|
+
var _useState = React.useState(0),
|
|
3229
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
3230
|
+
benefitCount = _useState2[0],
|
|
3231
|
+
setBenefitCount = _useState2[1];
|
|
3232
|
+
var _useState3 = React.useState(false),
|
|
3233
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
3234
|
+
isGenerating = _useState4[0],
|
|
3235
|
+
setIsGenerating = _useState4[1];
|
|
3236
|
+
var _useState5 = React.useState(false),
|
|
3237
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
3238
|
+
timedOut = _useState6[0],
|
|
3239
|
+
setTimedOut = _useState6[1];
|
|
3240
|
+
var pollRef = React.useRef(null);
|
|
3241
|
+
var startTimeRef = React.useRef(null);
|
|
3242
|
+
var prevCountRef = React.useRef(0);
|
|
3243
|
+
var stableCountRounds = React.useRef(0);
|
|
3244
|
+
var stopPolling = React.useCallback(function () {
|
|
3245
|
+
if (pollRef.current) {
|
|
3246
|
+
clearInterval(pollRef.current);
|
|
3247
|
+
pollRef.current = null;
|
|
3248
|
+
}
|
|
3249
|
+
}, []);
|
|
3250
|
+
var fetchCount = React.useCallback(function () {
|
|
3251
|
+
if (!payrollUuid) return;
|
|
3252
|
+
dispatch(feCore.graphql(COUNT_QUERY(payrollUuid), 'POLL_BENEFIT_COUNT')).then(function (response) {
|
|
3253
|
+
var _response$payload$dat, _response$payload;
|
|
3254
|
+
var count = (_response$payload$dat = response === null || response === void 0 || (_response$payload = response.payload) === null || _response$payload === void 0 || (_response$payload = _response$payload.data) === null || _response$payload === void 0 || (_response$payload = _response$payload.benefitConsumptionByPayroll) === null || _response$payload === void 0 ? void 0 : _response$payload.totalCount) !== null && _response$payload$dat !== void 0 ? _response$payload$dat : 0;
|
|
3255
|
+
if (count === 0) {
|
|
3256
|
+
setBenefitCount(count);
|
|
3257
|
+
setIsGenerating(true);
|
|
3258
|
+
stableCountRounds.current = 0;
|
|
3259
|
+
prevCountRef.current = count;
|
|
3260
|
+
return;
|
|
3261
|
+
}
|
|
3262
|
+
setBenefitCount(count);
|
|
3263
|
+
if (count === prevCountRef.current) {
|
|
3264
|
+
stableCountRounds.current += 1;
|
|
3265
|
+
} else {
|
|
3266
|
+
stableCountRounds.current = 0;
|
|
3267
|
+
}
|
|
3268
|
+
prevCountRef.current = count;
|
|
3269
|
+
if (stableCountRounds.current >= 2) {
|
|
3270
|
+
setIsGenerating(false);
|
|
3271
|
+
stopPolling();
|
|
3272
|
+
}
|
|
3273
|
+
})["catch"](function () {
|
|
3274
|
+
setBenefitCount(function (c) {
|
|
3275
|
+
return Math.max(c, 0);
|
|
3276
|
+
});
|
|
3277
|
+
});
|
|
3278
|
+
}, [payrollUuid, dispatch, stopPolling]);
|
|
3279
|
+
React.useEffect(function () {
|
|
3280
|
+
var shouldPoll = payrollUuid && payrollStatus === 'PENDING_APPROVAL';
|
|
3281
|
+
if (shouldPoll && !pollRef.current) {
|
|
3282
|
+
setTimedOut(false);
|
|
3283
|
+
startTimeRef.current = Date.now();
|
|
3284
|
+
stableCountRounds.current = 0;
|
|
3285
|
+
prevCountRef.current = 0;
|
|
3286
|
+
fetchCount();
|
|
3287
|
+
pollRef.current = setInterval(function () {
|
|
3288
|
+
if (Date.now() - startTimeRef.current >= TIMEOUT_MS) {
|
|
3289
|
+
setIsGenerating(false);
|
|
3290
|
+
setTimedOut(true);
|
|
3291
|
+
stopPolling();
|
|
3292
|
+
return;
|
|
3293
|
+
}
|
|
3294
|
+
fetchCount();
|
|
3295
|
+
}, POLL_INTERVAL_MS);
|
|
3296
|
+
}
|
|
3297
|
+
if (!shouldPoll && pollRef.current) {
|
|
3298
|
+
setIsGenerating(false);
|
|
3299
|
+
stopPolling();
|
|
3300
|
+
}
|
|
3301
|
+
return function () {
|
|
3302
|
+
return stopPolling();
|
|
3303
|
+
};
|
|
3304
|
+
}, [payrollUuid, payrollStatus, fetchCount, stopPolling]);
|
|
3305
|
+
return {
|
|
3306
|
+
isGenerating: isGenerating,
|
|
3307
|
+
benefitCount: benefitCount,
|
|
3308
|
+
timedOut: timedOut
|
|
3309
|
+
};
|
|
3310
|
+
}
|
|
3311
|
+
|
|
3214
3312
|
var useStyles$b = styles$7.makeStyles(function (theme) {
|
|
3215
3313
|
return {
|
|
3216
3314
|
paper: theme.paper.paper,
|
|
@@ -3257,12 +3355,64 @@ function PayrollTab(_ref) {
|
|
|
3257
3355
|
var modulesManager = feCore.useModulesManager();
|
|
3258
3356
|
var _useTranslations = feCore.useTranslations(MODULE_NAME, modulesManager),
|
|
3259
3357
|
formatMessage = _useTranslations.formatMessage;
|
|
3358
|
+
var _useAsyncPayrollProgr = useAsyncPayrollProgress({
|
|
3359
|
+
payrollUuid: payrollUuid,
|
|
3360
|
+
payrollStatus: payroll === null || payroll === void 0 ? void 0 : payroll.status
|
|
3361
|
+
}),
|
|
3362
|
+
isGenerating = _useAsyncPayrollProgr.isGenerating,
|
|
3363
|
+
benefitCount = _useAsyncPayrollProgr.benefitCount,
|
|
3364
|
+
timedOut = _useAsyncPayrollProgr.timedOut;
|
|
3365
|
+
var _useState3 = React.useState(false),
|
|
3366
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
3367
|
+
generationComplete = _useState4[0],
|
|
3368
|
+
setGenerationComplete = _useState4[1];
|
|
3369
|
+
var _useState5 = React.useState(0),
|
|
3370
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
3371
|
+
refreshBenefitsKey = _useState6[0],
|
|
3372
|
+
setRefreshBenefitsKey = _useState6[1];
|
|
3373
|
+
React.useEffect(function () {
|
|
3374
|
+
if (!isGenerating && benefitCount > 0 && !generationComplete) {
|
|
3375
|
+
setGenerationComplete(true);
|
|
3376
|
+
setRefreshBenefitsKey(function (k) {
|
|
3377
|
+
return k + 1;
|
|
3378
|
+
});
|
|
3379
|
+
}
|
|
3380
|
+
}, [isGenerating, benefitCount, generationComplete]);
|
|
3260
3381
|
var downloadPayrollData = function downloadPayrollData(payrollUuid, payrollName) {
|
|
3261
3382
|
downloadPayroll(payrollUuid, payrollName);
|
|
3262
3383
|
};
|
|
3263
3384
|
return /*#__PURE__*/React__default["default"].createElement(core.Paper, {
|
|
3264
3385
|
className: classes.paper
|
|
3386
|
+
}, (isGenerating || timedOut) && payrollUuid && !isPayrollFromFailedInvoices && /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3387
|
+
container: true,
|
|
3388
|
+
spacing: 2,
|
|
3389
|
+
style: {
|
|
3390
|
+
padding: '16px'
|
|
3391
|
+
}
|
|
3265
3392
|
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3393
|
+
item: true,
|
|
3394
|
+
xs: 12
|
|
3395
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3396
|
+
variant: "body1"
|
|
3397
|
+
}, timedOut ? formatMessage('payroll.async.timedOut') : formatMessage('payroll.async.generating')), !timedOut && /*#__PURE__*/React__default["default"].createElement(core.LinearProgress, {
|
|
3398
|
+
variant: "indeterminate",
|
|
3399
|
+
style: {
|
|
3400
|
+
marginTop: '8px'
|
|
3401
|
+
}
|
|
3402
|
+
}), /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3403
|
+
variant: "caption",
|
|
3404
|
+
style: {
|
|
3405
|
+
display: 'block',
|
|
3406
|
+
marginTop: '4px'
|
|
3407
|
+
}
|
|
3408
|
+
}, !timedOut && formatMessage('payroll.async.createdSoFar', {
|
|
3409
|
+
benefitCount: benefitCount
|
|
3410
|
+
})), /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3411
|
+
variant: "caption",
|
|
3412
|
+
style: {
|
|
3413
|
+
display: 'block'
|
|
3414
|
+
}
|
|
3415
|
+
}, !timedOut && formatMessage('payroll.async.note')))), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3266
3416
|
container: true,
|
|
3267
3417
|
className: "".concat(classes.tableTitle, " ").concat(classes.tabs)
|
|
3268
3418
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -3313,7 +3463,8 @@ function PayrollTab(_ref) {
|
|
|
3313
3463
|
payrollUuid: payrollUuid,
|
|
3314
3464
|
isInTask: isInTask,
|
|
3315
3465
|
isPayrollFromFailedInvoices: isPayrollFromFailedInvoices,
|
|
3316
|
-
payroll: payroll
|
|
3466
|
+
payroll: payroll,
|
|
3467
|
+
refreshBenefitsKey: refreshBenefitsKey
|
|
3317
3468
|
}));
|
|
3318
3469
|
}
|
|
3319
3470
|
|
|
@@ -5706,13 +5857,15 @@ function BenefitConsumptionsTabPanel(_ref2) {
|
|
|
5706
5857
|
var value = _ref2.value,
|
|
5707
5858
|
rights = _ref2.rights,
|
|
5708
5859
|
payrollUuid = _ref2.payrollUuid,
|
|
5709
|
-
isPayrollFromFailedInvoices = _ref2.isPayrollFromFailedInvoices
|
|
5860
|
+
isPayrollFromFailedInvoices = _ref2.isPayrollFromFailedInvoices,
|
|
5861
|
+
refreshBenefitsKey = _ref2.refreshBenefitsKey;
|
|
5710
5862
|
return /*#__PURE__*/React__default["default"].createElement(feCore.PublishedComponent, {
|
|
5711
5863
|
pubRef: "policyHolder.TabPanel",
|
|
5712
5864
|
module: "payroll",
|
|
5713
5865
|
index: BENEFIT_CONSUMPTION_LIST_TAB_VALUE,
|
|
5714
5866
|
value: value
|
|
5715
5867
|
}, rights.includes(RIGHT_PAYROLL_SEARCH) && payrollUuid && /*#__PURE__*/React__default["default"].createElement(BenefitConsumptionSearcher$1, {
|
|
5868
|
+
key: refreshBenefitsKey,
|
|
5716
5869
|
rights: rights,
|
|
5717
5870
|
payrollUuid: payrollUuid,
|
|
5718
5871
|
isPayrollFromFailedInvoices: isPayrollFromFailedInvoices
|