|
Packit Service |
0246ed |
import React from "react";
|
|
Packit Service |
0246ed |
import { FormattedMessage, defineMessages, injectIntl, intlShape } from "react-intl";
|
|
Packit Service |
0246ed |
import PropTypes from "prop-types";
|
|
Packit Service |
0246ed |
import { connect } from "react-redux";
|
|
Packit Service |
0246ed |
import {
|
|
Packit Service |
0246ed |
Button,
|
|
Packit Service |
0246ed |
DataListItem,
|
|
Packit Service |
0246ed |
DataListItemRow,
|
|
Packit Service |
0246ed |
DataListCell,
|
|
Packit Service |
0246ed |
DataListToggle,
|
|
Packit Service |
0246ed |
DataListContent,
|
|
Packit Service |
0246ed |
DataListItemCells,
|
|
Packit Service |
0246ed |
} from "@patternfly/react-core";
|
|
Packit Service |
0246ed |
import { BuilderImageIcon } from "@patternfly/react-icons";
|
|
Packit Service |
0246ed |
import { deletingCompose, cancellingCompose } from "../../core/actions/composes";
|
|
Packit Service |
0246ed |
import {
|
|
Packit Service |
0246ed |
setModalStopBuildVisible,
|
|
Packit Service |
0246ed |
setModalStopBuildState,
|
|
Packit Service |
0246ed |
setModalDeleteImageVisible,
|
|
Packit Service |
0246ed |
setModalDeleteImageState,
|
|
Packit Service |
0246ed |
} from "../../core/actions/modals";
|
|
Packit Service |
0246ed |
import Logs from "../Logs/Logs";
|
|
Packit Service |
0246ed |
import * as composer from "../../core/composer";
|
|
Packit Service |
0246ed |
import ImagesDataList from "./ImagesDataList";
|
|
Packit Service |
0246ed |
import ListItemUploads from "./ListItemUploads";
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
const messages = defineMessages({
|
|
Packit Service |
0246ed |
imageType: {
|
|
Packit Service |
0246ed |
defaultMessage: "Type",
|
|
Packit Service |
0246ed |
description: "A label for the type of image file was created",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageCreated: {
|
|
Packit Service |
0246ed |
defaultMessage: "Created",
|
|
Packit Service |
0246ed |
description: "A label for the date that an image file was created",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageSize: {
|
|
Packit Service |
0246ed |
defaultMessage: "Size",
|
|
Packit Service |
0246ed |
description: "A label for the size of an image file",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageUploads: {
|
|
Packit Service |
0246ed |
defaultMessage: "Image uploads",
|
|
Packit Service |
0246ed |
description: "A label for the section that lists the upload actions initiated by the user",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageActions: {
|
|
Packit Service |
0246ed |
defaultMessage: "Actions",
|
|
Packit Service |
0246ed |
description: "A label for the menu that displays the actions available",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageLogs: {
|
|
Packit Service |
0246ed |
defaultMessage: "Logs",
|
|
Packit Service |
0246ed |
description: "Log content that gets generated as part of the image creation process",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageStatusWaiting: {
|
|
Packit Service |
0246ed |
defaultMessage: "Image build pending",
|
|
Packit Service |
0246ed |
description: "Image build status when process is waiting",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageStatusRunning: {
|
|
Packit Service |
0246ed |
defaultMessage: "Image build in progress",
|
|
Packit Service |
0246ed |
description: "Image build status when process is in progress",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageStatusFinished: {
|
|
Packit Service |
0246ed |
defaultMessage: "Image build complete",
|
|
Packit Service |
0246ed |
description: "Image build status when process is finished",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageStatusFailed: {
|
|
Packit Service |
0246ed |
defaultMessage: "Image build failed",
|
|
Packit Service |
0246ed |
description: "Image build status when process failed",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
imageStatusStopping: {
|
|
Packit Service |
0246ed |
defaultMessage: "Stopping",
|
|
Packit Service |
0246ed |
description: "Image build status when user selected to end the process",
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
});
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
class ListItemImages extends React.Component {
|
|
Packit Service |
0246ed |
constructor() {
|
|
Packit Service |
0246ed |
super();
|
|
Packit Service |
0246ed |
this.state = { logsExpanded: false, uploadsExpanded: false };
|
|
Packit Service |
0246ed |
this.handleDelete = this.handleDelete.bind(this);
|
|
Packit Service |
0246ed |
this.handleCancel = this.handleCancel.bind(this);
|
|
Packit Service |
0246ed |
this.handleShowModalStop = this.handleShowModalStop.bind(this);
|
|
Packit Service |
0246ed |
this.handleShowModalDeleteImage = this.handleShowModalDeleteImage.bind(this);
|
|
Packit Service |
0246ed |
this.handleLogsShow = this.handleLogsShow.bind(this);
|
|
Packit Service |
0246ed |
this.handleUploadsShow = this.handleUploadsShow.bind(this);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
// maps to Remove button for FAILED
|
|
Packit Service |
0246ed |
handleDelete(e) {
|
|
Packit Service |
0246ed |
e.preventDefault();
|
|
Packit Service |
0246ed |
e.stopPropagation();
|
|
Packit Service |
0246ed |
this.props.deletingCompose(this.props.listItem.id);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
// maps to Stop button for WAITING
|
|
Packit Service |
0246ed |
handleCancel(e) {
|
|
Packit Service |
0246ed |
e.preventDefault();
|
|
Packit Service |
0246ed |
e.stopPropagation();
|
|
Packit Service |
0246ed |
this.props.cancellingCompose(this.props.listItem.id);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
// maps to Stop button for RUNNING
|
|
Packit Service |
0246ed |
handleShowModalStop(e) {
|
|
Packit Service |
0246ed |
e.preventDefault();
|
|
Packit Service |
0246ed |
e.stopPropagation();
|
|
Packit Service |
0246ed |
this.props.setModalStopBuildState(this.props.listItem.id, this.props.blueprint);
|
|
Packit Service |
0246ed |
this.props.setModalStopBuildVisible(true);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
// maps to Delete button for FINISHED
|
|
Packit Service |
0246ed |
handleShowModalDeleteImage(e) {
|
|
Packit Service |
0246ed |
e.preventDefault();
|
|
Packit Service |
0246ed |
e.stopPropagation();
|
|
Packit Service |
0246ed |
this.props.setModalDeleteImageState(this.props.listItem.id, this.props.blueprint);
|
|
Packit Service |
0246ed |
this.props.setModalDeleteImageVisible(true);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
handleLogsShow() {
|
|
Packit Service |
0246ed |
this.setState({ uploadsExpanded: false });
|
|
Packit Service |
0246ed |
this.setState((prevState) => ({ logsExpanded: !prevState.logsExpanded, fetchingLogs: !prevState.logsExpanded }));
|
|
Packit Service |
0246ed |
composer.getComposeLog(this.props.listItem.id).then(
|
|
Packit Service |
0246ed |
(logs) => {
|
|
Packit Service |
0246ed |
this.setState({ logsContent: logs, fetchingLogs: false });
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
() => {
|
|
Packit Service |
0246ed |
this.setState({
|
|
Packit Service |
0246ed |
logsContent: <FormattedMessage defaultMessage="No log available" />,
|
|
Packit Service |
0246ed |
fetchingLogs: false,
|
|
Packit Service |
0246ed |
});
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
// consider removing
|
|
Packit Service |
0246ed |
handleUploadsShow() {
|
|
Packit Service |
0246ed |
this.setState({ logsExpanded: false });
|
|
Packit Service |
0246ed |
this.setState((prevState) => ({ uploadsExpanded: !prevState.uploadsExpanded }));
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
render() {
|
|
Packit Service |
0246ed |
const { listItem } = this.props;
|
|
Packit Service |
0246ed |
const { formatMessage } = this.props.intl;
|
|
Packit Service |
0246ed |
const timestamp = new Date(listItem.job_created * 1000);
|
|
Packit Service |
0246ed |
const formattedTime = timestamp.toDateString();
|
|
Packit Service |
0246ed |
let actions;
|
|
Packit Service |
0246ed |
switch (listItem.queue_status) {
|
|
Packit Service |
0246ed |
case "FINISHED":
|
|
Packit Service |
0246ed |
actions = (
|
|
Packit Service |
0246ed |
<>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
<FormattedMessage defaultMessage="Download" />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
this.handleShowModalDeleteImage(e)} data-delete>
|
|
Packit Service |
0246ed |
<FormattedMessage defaultMessage="Delete" />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
break;
|
|
Packit Service |
0246ed |
case "RUNNING":
|
|
Packit Service |
0246ed |
actions = (
|
|
Packit Service |
0246ed |
<>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
this.handleShowModalStop(e)}>
|
|
Packit Service |
0246ed |
<FormattedMessage defaultMessage="Stop" />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
break;
|
|
Packit Service |
0246ed |
case "WAITING":
|
|
Packit Service |
0246ed |
actions = (
|
|
Packit Service |
0246ed |
<>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
this.handleCancel(e)}>
|
|
Packit Service |
0246ed |
<FormattedMessage defaultMessage="Stop" />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
break;
|
|
Packit Service |
0246ed |
case "FAILED":
|
|
Packit Service |
0246ed |
actions = (
|
|
Packit Service |
0246ed |
<>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
this.handleDelete(e)}>
|
|
Packit Service |
0246ed |
<FormattedMessage defaultMessage="Remove" />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
break;
|
|
Packit Service |
0246ed |
default:
|
|
Packit Service |
0246ed |
actions = undefined;
|
|
Packit Service |
0246ed |
break;
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
const logs = listItem.queue_status === "FAILED" || listItem.queue_status === "FINISHED";
|
|
Packit Service |
0246ed |
const logsButton = (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
variant={`${this.state.logsExpanded ? "primary" : "secondary"}`}
|
|
Packit Service |
0246ed |
aria-expanded={this.state.logsExpanded}
|
|
Packit Service |
0246ed |
aria-controls={`${listItem.id}-logs`}
|
|
Packit Service |
0246ed |
onClick={this.handleLogsShow}
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageLogs)}
|
|
Packit Service |
0246ed |
</Button>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
const uploads = listItem.uploads !== undefined;
|
|
Packit Service |
0246ed |
const uploadsToggle = (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
onClick={this.handleUploadsShow}
|
|
Packit Service |
0246ed |
isExpanded={this.state.uploadsExpanded}
|
|
Packit Service |
0246ed |
id="uploads-toggle"
|
|
Packit Service |
0246ed |
aria-label={`${formatMessage(messages.imageUploads)} ${this.props.blueprint}-${listItem.version}-${
|
|
Packit Service |
0246ed |
listItem.compose_type
|
|
Packit Service |
0246ed |
}`}
|
|
Packit Service |
0246ed |
aria-controls={`${listItem.id}-uploads`}
|
|
Packit Service |
0246ed |
// ^ need to fix this attribute value
|
|
Packit Service |
0246ed |
aria-hidden={!uploads}
|
|
Packit Service |
0246ed |
className={`${!uploads ? "cc-u-not-visible" : ""}`}
|
|
Packit Service |
0246ed |
/>
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
const composeStatus = () => {
|
|
Packit Service |
0246ed |
switch (listItem.queue_status) {
|
|
Packit Service |
0246ed |
case "WAITING":
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageStatusWaiting)}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
case "RUNNING":
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageStatusRunning)}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
case "FINISHED":
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageStatusFinished)}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
case "FAILED":
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageStatusFailed)}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
case "STOPPING":
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageStatusStopping)}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
default:
|
|
Packit Service |
0246ed |
return <>;
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
};
|
|
Packit Service |
0246ed |
let logsSection;
|
|
Packit Service |
0246ed |
if (this.state.logsExpanded) {
|
|
Packit Service |
0246ed |
logsSection = <Logs logContent={this.state.logsContent} fetchingLog={this.state.fetchingLogs} />;
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
let uploadsSection;
|
|
Packit Service |
0246ed |
if (this.state.uploadsExpanded) {
|
|
Packit Service |
0246ed |
uploadsSection = (
|
|
Packit Service |
0246ed |
<ImagesDataList ariaLabel={formatMessage(messages.imageUploads)}>
|
|
Packit Service |
0246ed |
{listItem.uploads.map((upload) => (
|
|
Packit Service |
0246ed |
<ListItemUploads upload={upload} key={upload.uuid} />
|
|
Packit Service |
0246ed |
))}
|
|
Packit Service |
0246ed |
</ImagesDataList>
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
const gigabyte = 1024 * 1024 * 1024;
|
|
Packit Service |
0246ed |
const size = listItem.image_size / gigabyte;
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
return (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
aria-labelledby={`${listItem.id}-compose-name`}
|
|
Packit Service |
0246ed |
isExpanded={this.state.uploadsExpanded}
|
|
Packit Service |
0246ed |
data-image={`${this.props.blueprint}-${listItem.version}-${listItem.compose_type}`}
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
<DataListItemRow>
|
|
Packit Service |
0246ed |
{uploadsToggle}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
<BuilderImageIcon />
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
className="cc-m-stacked cc-m-split-on-lg"
|
|
Packit Service |
0246ed |
dataListCells={[
|
|
Packit Service |
0246ed |
<DataListCell key="primary" className="pf-l-flex pf-m-column pf-m-space-items-xs">
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{this.props.blueprint}-{listItem.version}-{listItem.compose_type}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageType)}
|
|
Packit Service |
0246ed |
{listItem.compose_type}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageCreated)} {formattedTime}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{listItem.queue_status === "FINISHED" && (
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{formatMessage(messages.imageSize)} {size} GB
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
)}
|
|
Packit Service |
0246ed |
</DataListCell>,
|
|
Packit Service |
0246ed |
<DataListCell key="status">{composeStatus()}</DataListCell>,
|
|
Packit Service |
0246ed |
]}
|
|
Packit Service |
0246ed |
/>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
className={`pf-c-data-list__item-action ${actions === undefined ? "cc-u-not-visible" : ""}`}
|
|
Packit Service |
0246ed |
aria-hidden={actions === undefined}
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
aria-label={formatMessage(messages.imageActions)}
|
|
Packit Service |
0246ed |
className="btn btn-link dropdown-toggle"
|
|
Packit Service |
0246ed |
type="button"
|
|
Packit Service |
0246ed |
id={`${listItem.id}-actions`}
|
|
Packit Service |
0246ed |
data-toggle="dropdown"
|
|
Packit Service |
0246ed |
aria-haspopup="true"
|
|
Packit Service |
0246ed |
aria-expanded="false"
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
</button>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{actions}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
{logsButton}
|
|
Packit Service |
0246ed |
</DataListItemRow>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
aria-label={formatMessage(messages.imageUploads)}
|
|
Packit Service |
0246ed |
id={`${listItem.id}-uploads`}
|
|
Packit Service |
0246ed |
isHidden={!this.state.uploadsExpanded}
|
|
Packit Service |
0246ed |
noPadding
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
{uploadsSection}
|
|
Packit Service |
0246ed |
</DataListContent>
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
aria-label={formatMessage(messages.imageLogs)}
|
|
Packit Service |
0246ed |
id={`${listItem.id}-logs`}
|
|
Packit Service |
0246ed |
isHidden={!this.state.logsExpanded}
|
|
Packit Service |
0246ed |
noPadding
|
|
Packit Service |
0246ed |
>
|
|
Packit Service |
0246ed |
{logsSection}
|
|
Packit Service |
0246ed |
</DataListContent>
|
|
Packit Service |
0246ed |
</DataListItem>
|
|
Packit Service |
0246ed |
);
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
}
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
ListItemImages.propTypes = {
|
|
Packit Service |
0246ed |
listItem: PropTypes.shape({
|
|
Packit Service |
0246ed |
blueprint: PropTypes.string,
|
|
Packit Service |
0246ed |
compose_type: PropTypes.string,
|
|
Packit Service |
0246ed |
id: PropTypes.string,
|
|
Packit Service |
0246ed |
image_size: PropTypes.number,
|
|
Packit Service |
0246ed |
job_created: PropTypes.number,
|
|
Packit Service |
0246ed |
job_finished: PropTypes.number,
|
|
Packit Service |
0246ed |
job_started: PropTypes.number,
|
|
Packit Service |
0246ed |
queue_status: PropTypes.string,
|
|
Packit Service |
0246ed |
version: PropTypes.string,
|
|
Packit Service |
0246ed |
uploads: PropTypes.arrayOf(PropTypes.object),
|
|
Packit Service |
0246ed |
}),
|
|
Packit Service |
0246ed |
blueprint: PropTypes.string,
|
|
Packit Service |
0246ed |
deletingCompose: PropTypes.func,
|
|
Packit Service |
0246ed |
cancellingCompose: PropTypes.func,
|
|
Packit Service |
0246ed |
setModalStopBuildState: PropTypes.func,
|
|
Packit Service |
0246ed |
setModalStopBuildVisible: PropTypes.func,
|
|
Packit Service |
0246ed |
setModalDeleteImageState: PropTypes.func,
|
|
Packit Service |
0246ed |
setModalDeleteImageVisible: PropTypes.func,
|
|
Packit Service |
0246ed |
downloadUrl: PropTypes.string,
|
|
Packit Service |
0246ed |
intl: intlShape.isRequired,
|
|
Packit Service |
0246ed |
};
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
ListItemImages.defaultProps = {
|
|
Packit Service |
0246ed |
listItem: {},
|
|
Packit Service |
0246ed |
blueprint: "",
|
|
Packit Service |
0246ed |
deletingCompose() {},
|
|
Packit Service |
0246ed |
cancellingCompose() {},
|
|
Packit Service |
0246ed |
setModalStopBuildState() {},
|
|
Packit Service |
0246ed |
setModalStopBuildVisible() {},
|
|
Packit Service |
0246ed |
setModalDeleteImageState() {},
|
|
Packit Service |
0246ed |
setModalDeleteImageVisible() {},
|
|
Packit Service |
0246ed |
downloadUrl: "",
|
|
Packit Service |
0246ed |
};
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
const mapDispatchToProps = (dispatch) => ({
|
|
Packit Service |
0246ed |
deletingCompose: (compose) => {
|
|
Packit Service |
0246ed |
dispatch(deletingCompose(compose));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
cancellingCompose: (compose) => {
|
|
Packit Service |
0246ed |
dispatch(cancellingCompose(compose));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
setModalStopBuildState: (composeId, blueprintName) => {
|
|
Packit Service |
0246ed |
dispatch(setModalStopBuildState(composeId, blueprintName));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
setModalStopBuildVisible: (visible) => {
|
|
Packit Service |
0246ed |
dispatch(setModalStopBuildVisible(visible));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
setModalDeleteImageState: (composeId, blueprintName) => {
|
|
Packit Service |
0246ed |
dispatch(setModalDeleteImageState(composeId, blueprintName));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
setModalDeleteImageVisible: (visible) => {
|
|
Packit Service |
0246ed |
dispatch(setModalDeleteImageVisible(visible));
|
|
Packit Service |
0246ed |
},
|
|
Packit Service |
0246ed |
});
|
|
Packit Service |
0246ed |
|
|
Packit Service |
0246ed |
export default connect(null, mapDispatchToProps)(injectIntl(ListItemImages));
|