fenextjs-component
Version:
51 lines • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Back = void 0;
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const fenextjs_hook_1 = require("fenextjs-hook");
const Loader_1 = require("../Loader");
const PaginationPre_1 = require("fenextjs-svg/cjs/PaginationPre");
const fenextjs_hook_2 = require("fenextjs-hook");
const Back = ({ className = "", classNameLoader = "", classNameDisabled = "", classNameIcon = "", classNameContent = "", children = "Back", loader = false, disabled = false, onClick = undefined, icon = react_1.default.createElement(PaginationPre_1.SvgPaginationPre, null), typeOnBack = "history", link = "", minLenght = 2, useHistoryMinLenght = false, onValidateRuteBack, useRouterCustom = fenextjs_hook_1.useRouter, ...props }) => {
const { onBack: onBackHistory } = (0, fenextjs_hook_2.useHistory)({
useRouterCustom,
});
const { _t } = (0, fenextjs_hook_2.use_T)({ ...props });
const router = useRouterCustom();
const onBack = () => {
if (loader || disabled) {
return;
}
onClick?.();
const actions = {
"fenextjs-history": () => {
onBackHistory({
onValidateRuteBack,
});
},
history: () => {
history.back();
},
router: () => {
router.back();
},
link: () => {
router.push(link);
},
none: () => 1,
};
actions[typeOnBack]();
};
if (useHistoryMinLenght && typeof window != "undefined" && window) {
if (window.history.length < minLenght) {
return react_1.default.createElement(react_1.default.Fragment, null);
}
}
return (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement("div", { onClick: onBack, className: `fenext-back ${className} ${disabled ? `${classNameDisabled} fenext-back-disabled` : ""}` },
react_1.default.createElement("div", { className: `fenext-back-icon ${classNameIcon}` }, loader ? (react_1.default.createElement(Loader_1.Loader, { classNameLoader: classNameLoader })) : (react_1.default.createElement(react_1.default.Fragment, null, icon))),
react_1.default.createElement("div", { className: `fenext-back-content ${classNameContent}` }, _t(children)))));
};
exports.Back = Back;
//# sourceMappingURL=index.js.map