UNPKG

ldx-widgets

Version:

widgets

79 lines (66 loc) 1.91 kB
(function() { var NoAccess, PropTypes, React, _, createClass, div; React = require('react'); PropTypes = require('prop-types'); createClass = require('create-react-class'); _ = require('lodash'); div = React.DOM.div; /*& @general No Access component used where permissions aren't sufficient @props.styleOverrides - [Object] - Optional CSS styles used to override defaults @props.displayText - [String] - Optional Primary text displayed in No Access message & */ NoAccess = createClass({ displayName: 'NoAccess', propTypes: { displayText: PropTypes.string, styleOverrides: PropTypes.object }, getDefaultProps: function() { return { styleOverrides: {}, displayText: '' }; }, render: function() { var appName, displayText, pathname, ref, styleOverrides, styles; ref = this.props, displayText = ref.displayText, styleOverrides = ref.styleOverrides; pathname = window.location.pathname; appName = (function() { if (pathname.search('/admin') > -1) { return 'System Manager'; } else if (pathname.search('/portal') > -1) { return 'Engage'; } else { return 'Consult'; } })(); if (!displayText) { displayText = t("Your user role does not contain the required permissions to use this feature of __appName__.", { appName: appName }); } styles = { fontSize: '16px', backgroundPosition: "center 150px", top: 0, paddingTop: 230 }; _.assign(styles, styleOverrides); return div({ className: 'no-access', style: styles }, [ div({ className: 'no-access-message', key: 'message' }, displayText) ]); } }); module.exports = NoAccess; }).call(this);