Task execution service (TES)
TES components
Runs

TES Runs Component

This component is used to browse task runs using TES API.

Preview

Imports

import ECCClientGa4ghTesRuns from '@elixir-cloud/tes/dist/react/runs/index';

Example

ECCClientGa4ghTesRuns
import React from 'react';
import ECCClientGa4ghTesRuns from '@elixir-cloud/tes/dist/react/runs/index';
 
export default function Runs() {
  return <ECCClientGa4ghTesRuns />;
}

Properties

PropertyRequiredDefaultTypeDescription
baseURLfalsehttps://protes.rahtiapp.fi/ga4gh/tes/v1StringBase URL of the TES instance/gateway.
pageSizefalse5NumberNumber of runs per page.
fieldsfalsedefaultArray<Fields>Configuration based on which data will be rendered in groups.
extendFieldsfalsefalsebooleanAllow app-author to pass fields that will extend the default fields not override them.
filterfalsetrueBooleanDefines if filter by state should be rendered.
searchfalsetrueBooleanDefines if search by prefix should be rendered.

baseURL

The base URL for TES instance.

pageSize

This property is used to define the number of runs to be rendered per pagination window.

fields

🏃‍♂️

ecc-client-ga4gh-tes-runs component passes this property to design package's UI component, details, read more about fields, in details docs. And see default config for examples.

filter

🤹‍♀️

Filtering based on the state of the task is not implemented in the backend in the component. The collection component provides the API to filter but since the there isn't any API to filter on the backend, having a client side filtering is not possible.

search

🔍

Specs define filtering based on name_prefix of task, but this hasn't been implemented, hence this component hasn't either. The code to do so has been removed from the code base as it couldn't be tested.

default

The default value of fields property.

🐸

Read more about this kind of configuration on details component.

[
  {
    "key": "name",
    "path": "name",
    "tab": "Overview",
    "label": "Name",
    "copy": true
  },
  {
    "key": "description",
    "path": "description",
    "tab": "Overview",
    "label": "Description"
  },
  {
    "key": "resources",
    "path": "resources",
    "tab": "Overview",
    "label": "Resources"
  },
  {
    "key": "tags",
    "path": "tags",
    "tab": "Overview",
    "label": "Tags"
  },
  {
    "key": "executors",
    "path": "executors",
    "tab": "Overview",
    "label": "Executor"
  },
  {
    "key": "executors*",
    "path": "executors[*]",
    "arrayOptions": {
      "labelOptions": {
        "path": "image"
      }
    }
  },
  {
    "key": "executors*command",
    "path": "executors[*].command",
    "arrayOptions": {
      "type": "tag"
    }
  },
  {
    "key": "volumes",
    "path": "volumes",
    "tab": "Overview",
    "label": "Volumes"
  },
  {
    "key": "creation_time",
    "path": "creation_time",
    "tab": "Overview",
    "label": "Creation time"
  },
  {
    "key": "logs",
    "path": "logs",
    "tab": "Logs",
    "label": "Logs",
    "copy": true
  },
  {
    "key": "logs[*].logs[*].stderr",
    "path": "logs[*].logs[*].stderr",
    "label": "STDERR",
    "copy": true
  },
  {
    "key": "logs[*].logs[*].stdout",
    "path": "logs[*].logs[*].stdout",
    "label": "STDOUT",
    "copy": true
  },
  {
    "key": "logs[*]",
    "path": "logs[*]",
    "arrayOptions": {
      "labelOptions": {
        "path": "start_time",
        "prefix": "Start time: "
      }
    },
    "copy": true
  },
  {
    "key": "logs[*].logs[*]",
    "path": "logs[*].logs[*]",
    "arrayOptions": {
      "labelOptions": {
        "path": "start_time",
        "prefix": "Start time: "
      }
    },
    "copy": true
  },
  {
    "key": "outputs",
    "path": "outputs",
    "tab": "Output",
    "label": "Output",
    "copy": true
  },
  {
    "key": "inputs",
    "path": "inputs",
    "tab": "Inputs",
    "label": "Input",
    "copy": true
  },
  {
    "key": "inputs",
    "path": "inputs[*]",
    "arrayOptions": {
      "labelOptions": {
        "path": "path"
      }
    },
    "copy": true
  }
]

Parts

🏋️‍♀️
Yep! still working!
;