UNPKG

stitch-ui

Version:

84 lines (73 loc) 2.67 kB
import { createAction } from "redux-act"; import { List } from "immutable"; import { makeAsyncActions, asyncActionExecutor } from "../util"; import { JSONState, Pipeline, PipelineStage, NamedPipeline } from "../models"; import { PIPELINE_OUTPUT_ARRAY } from "../models/Pipeline"; export const defaultNamedPipeline = new NamedPipeline({ name: "", output: PIPELINE_OUTPUT_ARRAY, skipRules: false, canEvaluate: JSONState.fromRaw({}), parameters: List(), private: false, pipeline: new Pipeline({ stages: List([ new PipelineStage({ action: "literal", args: { items: [{ x: 1, y: "foo" }] } }) ]), stageEditStates: List([null]) }) }); const NAME = "namedpipelines/"; export const setEditing = createAction(`${NAME}set editing`); export const discardChanges = createAction(`${NAME}discard changes`); export const loadPipelinesActions = makeAsyncActions(`${NAME}load pipelines`); export const updatePipelineActions = makeAsyncActions(`${NAME}update pipeline`); export const createPipelineActions = makeAsyncActions(`${NAME}create pipeline`); export const removePipelineActions = makeAsyncActions( `${NAME}remove pipeline actions` ); export const addParameter = createAction(`${NAME}add parameter`); export const removeParameter = createAction(`${NAME}remove parameter`); export const updateParameter = createAction(`${NAME}update parameter`); export const setSkipRules = createAction(`${NAME}set skip rules`); export const setPrivate = createAction(`${NAME}set private`); export const updateCanEvalInput = createAction(`${NAME}update can evaluate`); export const setCanEval = createAction(`${NAME}set can evaluate`); export const setSavePipelineErrorAction = createAction( `${NAME}set pipeline form error` ); export const loadPipelines = asyncActionExecutor( loadPipelinesActions, (client, groupId, appId) => () => client.apps(groupId).app(appId).pipelines().list() ); export const createPipeline = asyncActionExecutor( createPipelineActions, (client, groupId, appId, pipelineId, pipeline) => () => client .apps(groupId) .app(appId) .pipelines() .pipeline(pipelineId) .update(pipeline), true ); export const updatePipeline = asyncActionExecutor( updatePipelineActions, (client, groupId, appId, pipelineId, pipeline) => () => client .apps(groupId) .app(appId) .pipelines() .pipeline(pipelineId) .update(pipeline), true ); export const removePipeline = asyncActionExecutor( removePipelineActions, (client, groupId, appId, pipelineId) => () => client.apps(groupId).app(appId).pipelines().pipeline(pipelineId).remove() );