Skip to end of banner
Go to start of banner

Generic Cards

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

What is a card?

A card is a UI component that contains content and actions about a single subject. In this case, the Generic Card is a highly configurable component used to render a single row of a Synapse Table or View.

Here are a few examples:

Each UI field must be mapped to a column in the Synapse Table/View.

*type: Indicates the object type, for example “Project”. Icons are automatically mapped for some types.
*title: Column name to use for the title.
link: Column name that contains an URL to make the title a link.
subTitle: Column name to use for the sub-title.
description: Column name to use for the description.
descriptionLinkConfig: Indicate if the description is markdown.
icon: Column name that contains the name of the icon to use in this card.
imageFileHandleColumnName: Column name that contains the FileHandleID of a custom image to be displayed on the card.
ctaButtonLinkConfig: Configure the CTA button link. Define what the button text should be, and the link configuration (column to use for the value, and how to create the internal link).
labelLinkConfig: Instruct the card on how to create links in the secondary labels. Columns may contain markdown, or their value could be used to create an internal link (to a details page for example).
columnIconOptions: Also include a special icon/label for specific values found in the secondary label column.
dataTypeIconNames: Column name that contains the list of data types to show as additional icons.
backgroundColor: Background color of the card.
isHeader: Indicate if the card should be rendered as a Header.
iconOptions: For all cards in a list, use a custom icon mapping.

How would someone set these up in Synapse?

Initiatives Example

https://www.synapse.org/#!Synapse:syn24189696/tables/

Synapse Table schema contains the following relevant columns: initiative, summary, website, image

Card Configuration:

 {
  genericCardSchema: {
    type: 'Initiative',
    title: 'initiative',    
    description: 'summary',    
    link: 'website',
    imageFileHandleColumnName: 'image',
  },
  ctaButtonLinkConfig: {
    buttonText: 'Explore Studies',
    linkConfig: {
      matchColumnName: 'initiative',
      isMarkdown: false,
      baseURL: 'Explore/Initiatives/DetailsPage',
      URLColumnName: 'initiative',
    }
  }

Studies Example

https://www.synapse.org/#!Synapse:syn16787123/tables/

Synapse Table schema contains the following relevant columns: studyName, summary, studyLeads, studyStatus, dataStatus, diseaseFocus, manifestation, fundingAgency,institutions, studyId, dataType (data type icons to show per row).

Card Configuration:

{
  genericCardSchema: {
    title: 'studyName',
    type: STUDY,
    description: 'summary',
    subTitle: 'studyLeads',
    icon: 'studyStatus',
    secondaryLabels: [
      'studyStatus',
      'dataStatus',
      'diseaseFocus',
      'manifestation',
      'fundingAgency',
      'institutions',
      'studyId',
    ],
    dataTypeIconNames: 'dataType'
  },
  iconOptions: {
    Active: studyActiveSvg,
    Completed: studyCompleteSvg,
  },
  titleLinkConfig: {
    isMarkdown: false,
    baseURL: 'Explore/Studies/DetailsPage',
    URLColumnName: 'studyId',
    matchColumnName: 'studyId',
  },
  columnIconOptions: {
    columns: {
      'dataStatus': {
        'Available': { icon: 'data', color: '#28A745' },
        'Partially Available': { icon: 'data', color: '#DE9A1F' },
        'Under Embargo': { icon: 'dataLocked', color: '#D46D1E' },
        'None': { icon: 'data', color: '#BBBBBC' },
      },
      'studyStatus': {
        'Active': { icon: 'reload', color: '#28A745' },
        'Completed': { icon: 'check', color: '#B2242A' },
      },
      'dataType': {
        'genomicVariants': { icon: 'geneVariants', label: 'Genomic Variants Data Available' },
        'geneExpression': { icon: 'geneExpression', label: 'Gene Expression Data Available' },
        'image': { icon: 'imaging', label: 'Image Data Available' },
        'drugScreen': { icon: 'lineGraph', label: 'Drug Screen (Cell) Data Available' },
        'behavior process': { icon: 'rat', label: 'Behavior Process Data Available' },
        'chromatinActivity': { icon: 'chromatin', label: 'Chromatin Activity Data Available' },
        'proteomics': { icon: 'proteomics', label: 'Proteomics Data Available' },
        'kinomics': { icon: 'kinomics', label: 'Kinomics Data Available' },
        'clinical': { icon: 'clinical', label: 'Clinical Data Available' },
        'other': { icon: 'other', label: 'Other Data Available' },
      }
    }
  }
}

  • No labels