UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

53 lines 2.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EntityTypeIcon = void 0; var tslib_1 = require("tslib"); var React = (0, tslib_1.__importStar)(require("react")); var synapseTypes_1 = require("../utils/synapseTypes"); var fontawesome_svg_core_1 = require("@fortawesome/fontawesome-svg-core"); var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons"); var free_brands_svg_icons_1 = require("@fortawesome/free-brands-svg-icons"); var react_fontawesome_1 = require("@fortawesome/react-fontawesome"); var EntityTypeUtils_1 = require("../utils/functions/EntityTypeUtils"); fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faLink, free_solid_svg_icons_1.faFolder, free_solid_svg_icons_1.faFile, free_solid_svg_icons_1.faListAlt, free_solid_svg_icons_1.faServer, free_solid_svg_icons_1.faTable, free_solid_svg_icons_1.faThList, free_brands_svg_icons_1.faDocker); var _ENTITY_TYPE_ICON_MAP = new Map([ [synapseTypes_1.EntityType.PROJECT, free_solid_svg_icons_1.faListAlt], [synapseTypes_1.EntityType.FOLDER, free_solid_svg_icons_1.faFolder], [synapseTypes_1.EntityType.FILE, free_solid_svg_icons_1.faFile], [synapseTypes_1.EntityType.TABLE, free_solid_svg_icons_1.faTable], [synapseTypes_1.EntityType.LINK, free_solid_svg_icons_1.faLink], [synapseTypes_1.EntityType.ENTITY_VIEW, free_solid_svg_icons_1.faThList], [synapseTypes_1.EntityType.DOCKER_REPO, free_brands_svg_icons_1.faDocker], [synapseTypes_1.EntityType.SUBMISSION_VIEW, free_solid_svg_icons_1.faServer], [synapseTypes_1.EntityType.DATASET, free_solid_svg_icons_1.faTh], ]); var getIconTypeForEntity = function (type) { switch (type) { case synapseTypes_1.EntityType.PROJECT: case synapseTypes_1.EntityType.FOLDER: case synapseTypes_1.EntityType.FILE: case synapseTypes_1.EntityType.TABLE: case synapseTypes_1.EntityType.LINK: case synapseTypes_1.EntityType.ENTITY_VIEW: case synapseTypes_1.EntityType.DOCKER_REPO: case synapseTypes_1.EntityType.SUBMISSION_VIEW: case synapseTypes_1.EntityType.DATASET: return _ENTITY_TYPE_ICON_MAP.get(type); default: return ''; } }; var EntityTypeIcon = function (props) { var type = props.type; if (!type) { return React.createElement(React.Fragment, null); } var iconType = getIconTypeForEntity(type); if (iconType === '') { console.warn('Could not retrieve icon for Entity with type: ', type); return React.createElement(React.Fragment, null); } return (React.createElement(react_fontawesome_1.FontAwesomeIcon, (0, tslib_1.__assign)({ title: (0, EntityTypeUtils_1.entityTypeToFriendlyName)(type) }, props, { icon: iconType }))); }; exports.EntityTypeIcon = EntityTypeIcon; //# sourceMappingURL=EntityIcon.js.map