# Program Listing Page The Program Listing Page lists the programs that store data in your data sharing platform. A Bento Program Listing Page has several configurable components. See below for details.  **Program Listing Page**. Displayed are the configurable elements of a Bento Program Listing Page. These are: Table Title, Table Icon, Table Column Headers, Table Content, embedded Internal and External URLs and External Link Icon. ### Prerequisites 1. The files that specify the configuration parameters of the Program Listing Page are stored in the GitHub `https://github.com/CBIIT/bento-frontend` (representing your GitHub username as `YOUR-USERNAME`). Create a local clone of your fork into a local directory, represented in these instructions as `$(src)`. 2. Configuration Parameters for all Program Listing Page elements can be specified in the file: `$(src)/bento-frontend/blob/master/src/bento/programData.js`. 3. All images and icons that you use in your Bento instance should be accessible via a public url. 4. Please review the list of [GraphQL queries](https://github.com/CBIIT/bento-backend/blob/master/src/main/resources/graphql/bento-extended-doc.graphql) to select query type(s) that return your data of interest. ## Icons in the Program Listing Page. There are two configurable icons in the Program Listing Page: (a) the Table Icon, that is a visual represenation of the Program Listing Table and (b) the External Link Icon that is a visual representation of an external link. ### Configuring the Icons in the Program Listing Page. 1. Open `$(src)/bento-frontend/blob/master/src/bento/programData.js`. 2. Under `programListingIcon`: * Set the field `src` to the URL of your Table Icon image file. * Set the fild `alt` to the ALT tag for your Table Icon. 3. Under `externalLinkIcon`: * Set the field `src` to the URL of your External Link Icon image file. * Set the fild `alt` to the ALT tag for your External Link Icon. 4. Example: ```javascript const programListingIcon = { src: 'URL for your Table Icon', alt: 'ALT tag for your Table Icon', }; const externalLinkIcon = { src: 'URL for your External Link Icon', alt: 'ALT tag for your External Link Icon', }; ``` ## The Program Listing Table The table in the Program Listing Page lists the programs that store data in your data sharing platform. ### Configuring the Program Listing Table. 1. Open `$(src)/bento-frontend/blob/master/src/bento/programData.js`. 2. In `table`: * The `display` field is set to true, by default. *Set this field to false if you do not wish to display a table in the Program Listing Page*. * Set the field `title` to the the title of your table. * Set the field `dataField` to the name of the GraphQL API query being used to return data for the Program Listing Page. *Note: This query should match the GraphQL API query in `GET_PROGRAMS_DATA_QUERY`*. * Set the field `defaultSortField` to the name of the query field that will be used to sort the Program Listing Table. Note: this query field should be displayed as one of the columns in the Program Listing Table. * Set the field `defaultSortDirection` to the sort order of your choice. Valid values are 'asc' (ascending) and 'desc' (descending). * Add your GraphQL API query to `GET_PROGRAMS_DATA_QUERY`. 3. Example: ```javascript ... const table = { display: true, title: '