currentlyRunningIntermediateOutputFetches()

in django_airavata/apps/workspace/static/django_airavata_workspace/js/store/modules/view-experiment.js [205:234]


  currentlyRunningIntermediateOutputFetches(state, getters) {
    const result = {};
    if (getters.experiment) {
      for (const output of getters.experiment.experimentOutputs) {
        const runningIntermediateOutputFetchTimestamp =
          state.runningIntermediateOutputFetches[output.name];
        const processStatus = output.intermediateOutput
          ? output.intermediateOutput.processStatus
          : null;
        const processStatusTimestamp = processStatus
          ? processStatus.timeOfStateChange
          : null;
        result[output.name] = false;
        // If our most recent timestamp for the intermediate output is the
        // request to fetch it, the assume it is currently running
        if (
          runningIntermediateOutputFetchTimestamp &&
          (!processStatusTimestamp ||
            processStatusTimestamp < runningIntermediateOutputFetchTimestamp)
        ) {
          result[output.name] = true;
        }
        // intermediate output fetch is still running if process isn't finished
        else if (processStatus) {
          result[output.name] = !processStatus.isFinished;
        }
      }
    }
    return result;
  },