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.
		
		
		
		
		
			
		
			
				
					99 lines
				
				3.3 KiB
			
		
		
			
		
	
	
					99 lines
				
				3.3 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.Breadcrumbs = exports.BreadcrumbText = exports.BreadcrumbLink = void 0; | ||
|  | 
 | ||
|  | var _designSystem = require("@adminjs/design-system"); | ||
|  | 
 | ||
|  | var _react = _interopRequireDefault(require("react")); | ||
|  | 
 | ||
|  | var _reactRouterDom = require("react-router-dom"); | ||
|  | 
 | ||
|  | var _styledComponents = _interopRequireDefault(require("styled-components")); | ||
|  | 
 | ||
|  | var _viewHelpers = _interopRequireDefault(require("../../../backend/utils/view-helpers/view-helpers")); | ||
|  | 
 | ||
|  | var _allowOverride = _interopRequireDefault(require("../../hoc/allow-override")); | ||
|  | 
 | ||
|  | var _useTranslation = require("../../hooks/use-translation"); | ||
|  | 
 | ||
|  | var _utils = require("../../utils"); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | const BreadcrumbLink = (0, _styledComponents.default)(_reactRouterDom.Link).withConfig({ | ||
|  |   displayName: "breadcrumbs__BreadcrumbLink", | ||
|  |   componentId: "sc-tbb6y0-0" | ||
|  | })(["color:", ";font-family:", ";line-height:", ";font-size:", ";text-decoration:none;&:hover{color:", ";}&:after{content:'/';padding:0 ", ";}&:last-child{&:after{content:'';}}"], ({ | ||
|  |   theme | ||
|  | }) => theme.colors.grey40, ({ | ||
|  |   theme | ||
|  | }) => theme.font, ({ | ||
|  |   theme | ||
|  | }) => theme.lineHeights.default, ({ | ||
|  |   theme | ||
|  | }) => theme.fontSizes.default, ({ | ||
|  |   theme | ||
|  | }) => theme.colors.primary100, ({ | ||
|  |   theme | ||
|  | }) => theme.space.default); | ||
|  | exports.BreadcrumbLink = BreadcrumbLink; | ||
|  | const BreadcrumbText = (0, _styledComponents.default)(_designSystem.Text).withConfig({ | ||
|  |   displayName: "breadcrumbs__BreadcrumbText", | ||
|  |   componentId: "sc-tbb6y0-1" | ||
|  | })(["color:", ";font-family:", ";font-weight:", ";line-height:", ";font-size:", ";cursor:pointer;display:inline;&:after{content:'/';padding:0 ", ";}&:last-child{&:after{content:'';}}"], ({ | ||
|  |   theme | ||
|  | }) => theme.colors.grey40, ({ | ||
|  |   theme | ||
|  | }) => theme.font, ({ | ||
|  |   theme | ||
|  | }) => theme.fontWeights.normal.toString(), ({ | ||
|  |   theme | ||
|  | }) => theme.lineHeights.default, ({ | ||
|  |   theme | ||
|  | }) => theme.fontSizes.default, ({ | ||
|  |   theme | ||
|  | }) => theme.space.default); | ||
|  | /** | ||
|  |  * @memberof Breadcrumbs | ||
|  |  */ | ||
|  | 
 | ||
|  | exports.BreadcrumbText = BreadcrumbText; | ||
|  | 
 | ||
|  | /** | ||
|  |  * @component | ||
|  |  * @private | ||
|  |  */ | ||
|  | const Breadcrumbs = props => { | ||
|  |   const { | ||
|  |     resource, | ||
|  |     record, | ||
|  |     actionName | ||
|  |   } = props; | ||
|  |   const listAction = resource.resourceActions.find(({ | ||
|  |     name | ||
|  |   }) => name === 'list'); | ||
|  |   const action = resource.actions.find(a => a.name === actionName); | ||
|  |   const h = new _viewHelpers.default(); | ||
|  |   const { | ||
|  |     translateLabel: tl | ||
|  |   } = (0, _useTranslation.useTranslation)(); | ||
|  |   const contentTag = (0, _utils.getActionElementCss)(resource.id, actionName, 'breadcrumbs'); | ||
|  |   return /*#__PURE__*/_react.default.createElement(_designSystem.Box, { | ||
|  |     flexGrow: 1, | ||
|  |     className: (0, _designSystem.cssClass)('Breadcrumbs'), | ||
|  |     "data-css": contentTag | ||
|  |   }, /*#__PURE__*/_react.default.createElement(BreadcrumbLink, { | ||
|  |     to: h.dashboardUrl() | ||
|  |   }, tl('dashboard')), listAction ? /*#__PURE__*/_react.default.createElement(BreadcrumbLink, { | ||
|  |     to: resource.href ? resource.href : '/', | ||
|  |     className: record ? 'is-active' : '' | ||
|  |   }, resource.name) : /*#__PURE__*/_react.default.createElement(BreadcrumbText, null, resource.name), action && action.name !== 'list' && /*#__PURE__*/_react.default.createElement(BreadcrumbLink, { | ||
|  |     to: "#" | ||
|  |   }, action.label)); | ||
|  | }; | ||
|  | 
 | ||
|  | const OverridableBreadcrumbs = (0, _allowOverride.default)(Breadcrumbs, 'Breadcrumbs'); | ||
|  | exports.Breadcrumbs = exports.default = OverridableBreadcrumbs; |