diff --git a/packages/react-core/src/demos/DataList/examples/DataListStaticBottomPagination.tsx b/packages/react-core/src/demos/DataList/examples/DataListStaticBottomPagination.tsx new file mode 100644 index 00000000000..7c8bfd23335 --- /dev/null +++ b/packages/react-core/src/demos/DataList/examples/DataListStaticBottomPagination.tsx @@ -0,0 +1,190 @@ +import React from 'react'; +import { + Button, + Content, + ContentVariants, + DataList, + DataListItem, + DataListCell, + DataListItemRow, + DataListItemCells, + Flex, + FlexItem, + MenuToggle, + MenuToggleCheckbox, + OverflowMenu, + OverflowMenuControl, + OverflowMenuItem, + PageSection, + Pagination, + Toolbar, + ToolbarItem, + ToolbarContent, + PaginationVariant +} from '@patternfly/react-core'; +import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon'; +import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/DashboardWrapper'; + +import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon'; +import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon'; +import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon'; +import { rows } from '@patternfly/react-core/dist/esm/demos/sampleData'; + +export const DataListStaticBottomPagination: React.FunctionComponent = () => { + const [page, setPage] = React.useState(1); + const [perPage, setPerPage] = React.useState(10); + const [paginatedRows, setPaginatedRows] = React.useState(rows.slice(0, 10)); + + const handleSetPage = ( + _evt: React.MouseEvent | React.KeyboardEvent | MouseEvent, + newPage: number, + _perPage: number | undefined, + startIdx: number | undefined, + endIdx: number | undefined + ) => { + setPaginatedRows(rows?.slice(startIdx, endIdx)); + setPage(newPage); + }; + + const handlePerPageSelect = ( + _evt: React.MouseEvent | React.KeyboardEvent | MouseEvent, + newPerPage: number, + newPage: number | undefined, + startIdx: number | undefined, + endIdx: number | undefined + ) => { + setPaginatedRows(rows.slice(startIdx, endIdx)); + setPage(newPage); + setPerPage(newPerPage); + }; + + const renderPagination = (variant: PaginationVariant, isCompact: boolean, isSticky: boolean, isStatic: boolean) => ( + + ); + + const toolbarItems = ( + + + + ]} + > + + + Filter by creator name + + + + + + + + + + + + + + + {renderPagination(PaginationVariant.top, true, false, false)} + + + ); + + return ( + + + + Projects + This is a demo that showcases PatternFly Data List + + + + + {toolbarItems} + + + {paginatedRows.map((row, rowIndex) => { + const { name, threads, applications, workspaces, lastModified } = row; + return ( + + + + + + + + {name} + + + + + Working repo for + PatternFly + + + + + + + {threads} + + + + + {applications} + + + + + {workspaces} + + + Updated {lastModified} + + + , + + + + + + + Link + + + + ]} + /> + + + ); + })} + + {renderPagination(PaginationVariant.bottom, false, false, true)} + + + ); +}; diff --git a/packages/react-core/src/demos/DataListDemo.md b/packages/react-core/src/demos/DataListDemo.md index b156dc8c192..bd8b0b47320 100644 --- a/packages/react-core/src/demos/DataListDemo.md +++ b/packages/react-core/src/demos/DataListDemo.md @@ -15,6 +15,7 @@ import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/excl import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon'; import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon'; import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/DashboardWrapper'; +import { rows } from '@patternfly/react-core/dist/esm/demos/sampleData'; ## Demos @@ -28,3 +29,8 @@ import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/Dashboard ```js file="./DataList/examples/DataListExpandableControlInToolbar.tsx" isFullscreen ``` + +### Static bottom pagination + +```js file="./DataList/examples/DataListStaticBottomPagination.tsx" isFullscreen +``` \ No newline at end of file diff --git a/packages/react-core/src/demos/sampleData.tsx b/packages/react-core/src/demos/sampleData.tsx new file mode 100644 index 00000000000..1402ddcac6d --- /dev/null +++ b/packages/react-core/src/demos/sampleData.tsx @@ -0,0 +1,615 @@ +const getRandomInteger = (min: number, max: number) => Math.floor(Math.random() * (max - min + 1)) + min; + +export interface SampleDataRow { + name: string; + threads: number; + applications: number; + workspaces: number; + lastModified: string; + url: string; +} + +export const columns = ['Servers', 'Threads', 'Applications', 'Workspaces', 'Last Modified', 'URL']; + +export const rows: SampleDataRow[] = [ + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node1' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node2' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node3' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node4' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '15 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node5' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '4 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node6' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node7' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '8 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node8' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/US-node9' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node10' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '55 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node11' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/US-node12' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node13' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '4 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node14' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node15' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node16' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node17' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node18' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '30 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node19' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node20' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '15 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node21' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node22' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node23' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '40 minutes ago', + url: 'http://www.redhat.com/en/office-locations/US-node24' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/US-node25' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/US-node26' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '7 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node1' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '50 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node2' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node3' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node4' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node5' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node6' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '25 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node7' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node8' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '15 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node9' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node10' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '30 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node11' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node12' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '45 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node13' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node14' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-node15' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node1' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '15 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node2' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node3' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node4' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '30 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node5' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-Remote-node6' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '45 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node7' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '6 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node8' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '50 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node9' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node10' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node11' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node12' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 hours ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node13' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '30 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node14' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node15' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node16' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '25 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node17' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/CZ-remote-node18' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '25 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node1' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node2' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '10 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node3' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '50 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node4' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node5' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node6' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '5 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node7' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '30 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node8' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node9' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node10' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '40 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node11' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '1 hour ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node12' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '20 minutes ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node13' + }, + { + name: 'patternfly-elements', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '4 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node14' + }, + { + name: 'patternfly', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '2 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node15' + }, + { + name: 'patternfly-unified-design-kit', + threads: getRandomInteger(1, 20), + applications: getRandomInteger(1, 50), + workspaces: getRandomInteger(1, 30), + lastModified: '3 hours ago', + url: 'http://www.redhat.com/en/office-locations/Bangalore-node16' + } +];