pkg-tasks
Version:
Package management tasks
65 lines (53 loc) • 1.49 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.StatusComponent = void 0;
var _ink = require("ink");
var _inkSpinner = _interopRequireDefault(require("ink-spinner"));
var _spaceStr = require("../spaceStr");
class StatusComponent extends _ink.Component {
constructor(props, context) {
super(props, context);
this.space = _spaceStr.spaceStr.bind({
store: props.store
});
}
componentDidMount() {
const forceUpdate = () => {
this.setState({
random: Math.random()
});
};
this.off = this.props.events.onAnyEmitted({
"store.phase": forceUpdate,
"store.space": forceUpdate
});
}
componentWillUnmount() {
this.off();
}
render() {
const {
store
} = this.props;
const phases = store.get("phase");
const taskCount = store.get("taskCount");
return (0, _ink.h)("div", null, Object.keys(phases).map(phase => {
const {
count,
title
} = phases[phase];
return (0, _ink.h)("div", {
key: phase
}, taskCount === count ? (0, _ink.h)(_ink.Text, {
green: true
}, "✓") : (0, _ink.h)(_inkSpinner.default, {
yellow: true
}), " ", this.space("phase", title), `(${count} of ${taskCount})`);
}));
}
}
exports.StatusComponent = StatusComponent;
//# sourceMappingURL=StatusComponent.js.map