You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1017 B
39 lines
1017 B
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.useActionResponseHandler = void 0;
|
|
|
|
var _reactRouter = require("react-router");
|
|
|
|
var _appendForceRefresh = require("../../components/actions/utils/append-force-refresh");
|
|
|
|
var _useNotice = require("../use-notice");
|
|
|
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
const useActionResponseHandler = onActionCall => {
|
|
const location = (0, _reactRouter.useLocation)();
|
|
const navigate = (0, _reactRouter.useNavigate)();
|
|
const addNotice = (0, _useNotice.useNotice)();
|
|
return response => {
|
|
const {
|
|
data
|
|
} = response;
|
|
|
|
if (data.notice) {
|
|
addNotice(data.notice);
|
|
}
|
|
|
|
if (data.redirectUrl && location.pathname !== data.redirectUrl) {
|
|
const appended = (0, _appendForceRefresh.appendForceRefresh)(data.redirectUrl);
|
|
navigate(appended);
|
|
}
|
|
|
|
if (onActionCall) {
|
|
onActionCall(data);
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.useActionResponseHandler = useActionResponseHandler; |