synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
45 lines • 2.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NextStepLink = exports.NavButtons = void 0;
var tslib_1 = require("tslib");
var React = (0, tslib_1.__importStar)(require("react"));
var types_1 = require("./types");
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
function NavButtons(props) {
// in wizard mode we build an array of the previous steps. In regular mode back goes to
// a previous order step
var canGoBack = function (props) {
if (props.isWizardMode) {
return props.previousStepIds && props.previousStepIds.length > 0;
}
else {
return props.steps.findIndex(function (step) { return step.id === props.currentStep.id; }) > 0;
}
};
var previousButton = canGoBack(props) ? (React.createElement("button", { type: "button", onClick: function (e) { return props.onNavAction(types_1.NavActionEnum.PREVIOUS); }, className: "btn btn-link nav-link prev" },
React.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChevronLeft }))) : (React.createElement(React.Fragment, null));
var nextButton = !props.currentStep.final ? (React.createElement("button", { type: "button", onClick: function (e) { return props.onNavAction(types_1.NavActionEnum.NEXT); }, className: "btn btn-link nav-link next" },
React.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChevronRight }))) : (React.createElement(React.Fragment, null));
var saveButton = (React.createElement("button", { type: "button", className: "btn btn-action save", disabled: props.isFormSubmitted, onClick: function (e) { return props.onNavAction(types_1.NavActionEnum.SAVE); } }, "SAVE"));
return (React.createElement("div", null,
React.createElement("hr", null),
React.createElement("div", { className: "buttonWrapper pull-right" },
previousButton,
" ",
nextButton,
" ",
saveButton)));
}
exports.NavButtons = NavButtons;
function NextStepLink(props) {
var nextStep = props.steps.find(function (step) { return step.id === props.nextStepId; });
if (typeof nextStep === 'undefined') {
return React.createElement(React.Fragment, null);
}
return (React.createElement("span", { className: "nav-link" },
React.createElement("a", { onClick: function (e) { return props.onNavAction(nextStep); } }, nextStep.title),
React.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChevronRight })));
}
exports.NextStepLink = NextStepLink;
//# sourceMappingURL=NavButtons.js.map