// ============================================================================== // Copyright (C) 2019 - Philip Paquette, Steven Bocco // // This program is free software: you can redistribute it and/or modify it under // the terms of the GNU Affero General Public License as published by the Free // Software Foundation, either version 3 of the License, or (at your option) any // later version. // // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more // details. // // You should have received a copy of the GNU Affero General Public License along // with this program. If not, see . // ============================================================================== import React from "react"; import PropTypes from 'prop-types'; import {Button} from "./button"; export class PowerOrders extends React.Component { render() { const orderEntries = this.props.orders ? Object.entries(this.props.orders) : null; let display = null; if (orderEntries) { if (orderEntries.length) { orderEntries.sort((a, b) => a[1].order.localeCompare(b[1].order)); display = (
{orderEntries.map((entry, index) => (
{entry[1].order} {entry[1].local ? '' : [S]}
))}
); } else if (this.props.serverCount === 0) { display = (
Empty orders set
); } else { display = (
Local empty orders set
); } } else { if (this.props.serverCount < 0) { display =
No orders!
; } else { display =
Asking to unset orders
; } } return (
{this.props.name} {(this.props.wait ? ' ' : ' not') + ' waiting'}
{display}
); } } PowerOrders.propTypes = { wait: PropTypes.bool, name: PropTypes.string, orders: PropTypes.object, serverCount: PropTypes.number, onRemove: PropTypes.func, };