rap-react
Version:
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
110 lines (108 loc) • 4.99 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SubHeader = void 0;
var _react = _interopRequireWildcard(require("react"));
var _entityService = require("../../../services/entityService");
var _permissionService = require("../../../services/permissionService");
var _enums = require("../../../constants/enums");
var _brandService = require("../../../services/brandService");
var _userContext = require("../../../context/user/userContext");
var _jsxRuntime = require("react/jsx-runtime");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
const SubHeader = _ref => {
let {
brandCode,
selectedModuleName,
selectedEntityName
} = _ref;
const {
state
} = (0, _react.useContext)(_userContext.UserContext);
const getLabelValue = () => {
switch (selectedEntityName) {
case _enums.entityNames.USERMANAGEMENT:
return "Restaurant Users Management";
case _enums.entityNames.HOURSOPERATION:
return "Hours of Operation";
case _enums.entityNames.MYRESTAURANTS:
return "Revenue Management";
case _enums.entityNames.PRICEENTRY:
case _enums.entityNames.GROUPMANAGEMENT:
return "Restaurant Groups Management";
case _enums.entityNames.ROLEMANAGEMENT:
default:
return "Restaurant Roles Management";
}
};
const label = getLabelValue();
const getEntityNames = () => {
switch (selectedModuleName) {
case _enums.moduleNames.Locations:
return [_enums.entityNames.HOURSOPERATION];
case _enums.moduleNames.RevenueManagement:
return [_enums.entityNames.MYRESTAURANTS, _enums.entityNames.PRICINGGROUP //pricing
];
case _enums.moduleNames.ManageRolesAndUsersModule:
default:
return [_enums.entityNames.ROLEMANAGEMENT, _enums.entityNames.USERMANAGEMENT, _enums.entityNames.GROUPMANAGEMENT];
}
};
let applicableEntityNames = getEntityNames();
const getEntityLink = (value, index) => {
var _state$user;
const privileges = state === null || state === void 0 || (_state$user = state.user) === null || _state$user === void 0 ? void 0 : _state$user.privileges;
let hasEntityAccess = (0, _permissionService.hasAccess)(privileges, value, _enums.accessTypes.READ);
let description = (0, _entityService.getEntityDescription)(privileges, value);
switch (selectedModuleName) {
case _enums.moduleNames.Locations:
{
break;
}
case _enums.moduleNames.RevenueManagement:
{
description = "Manage " + description; //TODO
break;
}
case _enums.moduleNames.ManageRolesAndUsersModule:
default:
{
description = "Manage " + description;
break;
}
}
let url = (0, _entityService.getEntityUrl)(value);
let className = "nav-link submenu";
if (selectedEntityName === value) {
className += " w--current";
}
if (hasEntityAccess) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
className: className,
href: url,
children: description
}, index);
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {});
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "sub-header",
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: "container menu",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "subheader-mainlink",
children: label
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "menu-link-wrapper",
children: applicableEntityNames.length > 0 && applicableEntityNames.map((value, index) => {
return getEntityLink(value, index);
})
})]
})
})
});
};
exports.SubHeader = SubHeader;
;