Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | 5x 1x 5x 1x 1x 2x 5x 2x | /* * Copyright 2018 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Bullseye, DataList } from '@patternfly/react-core'; import * as React from 'react'; import { Location } from 'store/route/types'; import LocationItem from './Location'; import './LocationList.css'; export interface LocationListProps { removeHandler: (id: number) => void; selectHandler: (id: number) => void; depot: Location | null; visits: Location[]; } const renderEmptyLocationList: React.FC<LocationListProps> = () => ( <DataList aria-label="Empty location list"> <Bullseye>No locations</Bullseye> </DataList> ); const renderLocationList: React.FC<LocationListProps> = ({ depot, visits, removeHandler, selectHandler, }) => ( <div style={{ overflowY: 'auto' }} data-cy="location-list"> <DataList aria-label="List of locations" > {depot && ( <LocationItem key={depot.id} id={depot.id} description={depot.description || null} removeDisabled={visits.length > 0} removeHandler={removeHandler} selectHandler={selectHandler} /> )} {visits .slice(0) // clone the array because // sort is done in place (that would affect the route) .sort((a, b) => a.id - b.id) .map(visit => ( <LocationItem key={visit.id} id={visit.id} description={visit.description || null} removeDisabled={false} removeHandler={removeHandler} selectHandler={selectHandler} /> ))} </DataList> </div> ); const LocationList: React.FC<LocationListProps> = props => ( props.visits.length === 0 && props.depot === null ? renderEmptyLocationList(props) : renderLocationList(props) ); export default LocationList; |