@laerdal/life-react-components 1.3.2-dev.7 → 1.4.1-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/Button/DualFunctionButton.js +4 -0
- package/dist/esm/Button/DualFunctionButton.js.map +1 -1
- package/dist/esm/Dropdown/DropdownContent.js +6 -6
- package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
- package/dist/esm/Modals/ModalContainer.js +0 -5
- package/dist/esm/Modals/ModalContainer.js.map +1 -1
- package/dist/esm/Modals/ModalDialog.js +23 -4
- package/dist/esm/Modals/ModalDialog.js.map +1 -1
- package/dist/esm/Modals/ModalNote.js +1 -1
- package/dist/esm/Modals/ModalNote.js.map +1 -1
- package/dist/esm/Table/Table.js +22 -6
- package/dist/esm/Table/Table.js.map +1 -1
- package/dist/esm/Table/TableBody.js +14 -24
- package/dist/esm/Table/TableBody.js.map +1 -1
- package/dist/esm/Table/TableFooter.js +13 -12
- package/dist/esm/Table/TableFooter.js.map +1 -1
- package/dist/esm/Table/TableHeaders.js +8 -19
- package/dist/esm/Table/TableHeaders.js.map +1 -1
- package/dist/esm/Table/TableStyles.js +226 -180
- package/dist/esm/Table/TableStyles.js.map +1 -1
- package/dist/esm/Table/__tests__/Table.test.js +162 -0
- package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
- package/dist/js/Button/DualFunctionButton.js +4 -0
- package/dist/js/Button/DualFunctionButton.js.map +1 -1
- package/dist/js/Dropdown/DropdownContent.js +8 -8
- package/dist/js/Dropdown/DropdownContent.js.map +1 -1
- package/dist/js/Modals/ModalContainer.js +1 -1
- package/dist/js/Modals/ModalContainer.js.map +1 -1
- package/dist/js/Modals/ModalDialog.d.ts +3 -1
- package/dist/js/Modals/ModalDialog.js +21 -4
- package/dist/js/Modals/ModalDialog.js.map +1 -1
- package/dist/js/Modals/ModalNote.d.ts +1 -1
- package/dist/js/Modals/ModalNote.js +1 -1
- package/dist/js/Modals/ModalNote.js.map +1 -1
- package/dist/js/Table/Table.js +32 -11
- package/dist/js/Table/Table.js.map +1 -1
- package/dist/js/Table/TableBody.js +16 -25
- package/dist/js/Table/TableBody.js.map +1 -1
- package/dist/js/Table/TableFooter.d.ts +2 -0
- package/dist/js/Table/TableFooter.js +19 -12
- package/dist/js/Table/TableFooter.js.map +1 -1
- package/dist/js/Table/TableHeaders.js +9 -19
- package/dist/js/Table/TableHeaders.js.map +1 -1
- package/dist/js/Table/TableStyles.d.ts +19 -0
- package/dist/js/Table/TableStyles.js +79 -3
- package/dist/js/Table/TableStyles.js.map +1 -1
- package/dist/js/Table/TableTypes.d.ts +4 -1
- package/dist/js/Table/__tests__/Table.test.js +164 -0
- package/dist/js/Table/__tests__/Table.test.js.map +1 -1
- package/dist/umd/Button/DualFunctionButton.js +4 -0
- package/dist/umd/Button/DualFunctionButton.js.map +1 -1
- package/dist/umd/Dropdown/DropdownContent.js +6 -6
- package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
- package/dist/umd/Modals/ModalContainer.js +0 -5
- package/dist/umd/Modals/ModalContainer.js.map +1 -1
- package/dist/umd/Modals/ModalDialog.js +23 -4
- package/dist/umd/Modals/ModalDialog.js.map +1 -1
- package/dist/umd/Modals/ModalNote.js +1 -1
- package/dist/umd/Modals/ModalNote.js.map +1 -1
- package/dist/umd/Table/Table.js +21 -5
- package/dist/umd/Table/Table.js.map +1 -1
- package/dist/umd/Table/TableBody.js +17 -28
- package/dist/umd/Table/TableBody.js.map +1 -1
- package/dist/umd/Table/TableFooter.js +15 -16
- package/dist/umd/Table/TableFooter.js.map +1 -1
- package/dist/umd/Table/TableHeaders.js +11 -23
- package/dist/umd/Table/TableHeaders.js.map +1 -1
- package/dist/umd/Table/TableStyles.js +226 -180
- package/dist/umd/Table/TableStyles.js.map +1 -1
- package/dist/umd/Table/__tests__/Table.test.js +164 -4
- package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Table/Table.tsx"],"names":["Table","props","keyExpr","React","multiSelect","setSelected","currentList","currentPageRows","row","count","selected","item","setSelectAllState","tmpFilteredRows","filterAndSortRows","setFilteredRows","setTotal","rowsFrom","currentPage","rowsTo","setFrom","setTo","setCurrentPageRows","pagination","setCurrentPage","setRowsPerPage","matchFilterCriteria","column","columns","sortingColumn","setSortedDirection","setSortedColumn","a","b","sortTableColumn","tmpColumn","remoteOperations","onTriggerSortingChange","previousPage","onPreviousPageClick","nextPage","onNextPageClick","filteredRows","changeRowsPerPage","value","onRowsPerPageChange","onRowClick","selectedText","window","currentSelection","existing","onSelectAllClick","selectAllState","showLoadingIndicator","Size"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n\n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n\n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n\n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <table cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={'table'}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </table>\n {showLoadingIndicator && (\n <div className={'table-spinner'}>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </div>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Table/Table.tsx"],"names":["Table","props","collapsed","collapsedRows","React","multiSelect","setSelected","currentList","currentPageRows","row","keyExpr","count","selected","item","setSelectAllState","tmpFilteredRows","filterAndSortRows","setFilteredRows","setTotal","rowsFrom","currentPage","rowsTo","setFrom","setTo","setCurrentPageRows","pagination","setCurrentPage","setRowsPerPage","isCollapsed","rows","setIsCollapsed","matchFilterCriteria","column","columns","sortingColumn","setSortedDirection","setSortedColumn","a","b","sortTableColumn","tmpColumn","remoteOperations","onTriggerSortingChange","previousPage","onPreviousPageClick","nextPage","onNextPageClick","filteredRows","changeRowsPerPage","value","onRowsPerPageChange","onRowClick","selectedText","window","currentSelection","existing","onSelectAllClick","selectAllState","showLoadingIndicator","Size"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n\n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n\n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n\n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={'table'}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "prop-types", "../Button", "../types", "react", "../InputFields", "../Button/Iconbutton", "../HyperLink"], factory);
|
|
3
|
+
define(["exports", "prop-types", "../Button", "../types", "react", "../InputFields", "../Button/Iconbutton", "../HyperLink", "./TableStyles"], factory);
|
|
4
4
|
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("prop-types"), require("../Button"), require("../types"), require("react"), require("../InputFields"), require("../Button/Iconbutton"), require("../HyperLink"));
|
|
5
|
+
factory(exports, require("prop-types"), require("../Button"), require("../types"), require("react"), require("../InputFields"), require("../Button/Iconbutton"), require("../HyperLink"), require("./TableStyles"));
|
|
6
6
|
} else {
|
|
7
7
|
var mod = {
|
|
8
8
|
exports: {}
|
|
9
9
|
};
|
|
10
|
-
factory(mod.exports, global.propTypes, global.Button, global.types, global.react, global.InputFields, global.Iconbutton, global.HyperLink);
|
|
10
|
+
factory(mod.exports, global.propTypes, global.Button, global.types, global.react, global.InputFields, global.Iconbutton, global.HyperLink, global.TableStyles);
|
|
11
11
|
global.undefined = mod.exports;
|
|
12
12
|
}
|
|
13
|
-
})(this, function (exports, _propTypes, _Button, _types, _react, _InputFields, _Iconbutton, _HyperLink) {
|
|
13
|
+
})(this, function (exports, _propTypes, _Button, _types, _react, _InputFields, _Iconbutton, _HyperLink, _TableStyles) {
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
{
|
|
158
158
|
const props = _objectSpread({
|
|
159
159
|
variant: 'default',
|
|
160
|
-
href: ''
|
|
160
|
+
href: '#'
|
|
161
161
|
}, column.additionalProps);
|
|
162
162
|
|
|
163
163
|
return /*#__PURE__*/React.createElement(_HyperLink.HyperLink, _extends({
|
|
@@ -221,17 +221,13 @@
|
|
|
221
221
|
case 'number':
|
|
222
222
|
case 'text':
|
|
223
223
|
default:
|
|
224
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
225
|
-
className: 'table-cell-icon'
|
|
226
|
-
}, column.icon), /*#__PURE__*/React.createElement("span", null, row[column.key]));
|
|
224
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, column.icon && /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellIcon, null, column.icon), /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellText, null, row[column.key]));
|
|
227
225
|
}
|
|
228
226
|
};
|
|
229
227
|
|
|
230
|
-
return /*#__PURE__*/React.createElement(
|
|
231
|
-
className: 'table-body'
|
|
232
|
-
}, props.currentPageRows.length > 0 ? props.currentPageRows.map((row, index) => /*#__PURE__*/React.createElement("tr", {
|
|
228
|
+
return /*#__PURE__*/React.createElement(_TableStyles.StyledTableBody, null, props.currentPageRows.length > 0 ? props.currentPageRows.map((row, index) => /*#__PURE__*/React.createElement(_TableStyles.StyledTableBodyRow, {
|
|
233
229
|
key: `row_${index}`,
|
|
234
|
-
className:
|
|
230
|
+
className: props.selectable ? 'selectable' : '',
|
|
235
231
|
onClick: () => props.onRowClick && props.onRowClick(row),
|
|
236
232
|
onMouseDown: event => event.preventDefault(),
|
|
237
233
|
onKeyPress: e => {
|
|
@@ -241,16 +237,11 @@
|
|
|
241
237
|
},
|
|
242
238
|
tabIndex: props.selectable ? 0 : undefined,
|
|
243
239
|
"data-testid": "TestTableDataRow"
|
|
244
|
-
}, props.multiSelect && /*#__PURE__*/React.createElement(
|
|
245
|
-
className: 'table-cell'
|
|
246
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
247
|
-
className: 'table-cell-content'
|
|
248
|
-
}, /*#__PURE__*/React.createElement(_InputFields.Checkbox, {
|
|
240
|
+
}, props.multiSelect && /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, null, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, null, /*#__PURE__*/React.createElement(_InputFields.Checkbox, {
|
|
249
241
|
selected: props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1,
|
|
250
242
|
readonly: true
|
|
251
|
-
}))), props.columns.map(column => /*#__PURE__*/React.createElement(
|
|
243
|
+
}))), props.columns.map(column => /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, {
|
|
252
244
|
key: `row_${index}_${column.key}`,
|
|
253
|
-
className: `table-cell`,
|
|
254
245
|
style: column.colorFn ? {
|
|
255
246
|
color: column.colorFn(row, column.key),
|
|
256
247
|
maxWidth: column.width
|
|
@@ -258,16 +249,14 @@
|
|
|
258
249
|
maxWidth: column.width
|
|
259
250
|
},
|
|
260
251
|
title: column.shortenText && row[column.key]
|
|
261
|
-
}, /*#__PURE__*/React.createElement(
|
|
262
|
-
className:
|
|
263
|
-
}, renderCellBody(column, row)))))) : /*#__PURE__*/React.createElement(
|
|
264
|
-
className: "table-row",
|
|
252
|
+
}, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, {
|
|
253
|
+
className: `${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`
|
|
254
|
+
}, renderCellBody(column, row)))))) : /*#__PURE__*/React.createElement(_TableStyles.StyledTableBodyRow, {
|
|
265
255
|
"data-testid": "TestTableNoDataRow"
|
|
266
|
-
}, /*#__PURE__*/React.createElement(
|
|
267
|
-
colSpan: props.columns.length + (props.multiSelect ? 1 : 0)
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
className: 'table-cell-content center'
|
|
256
|
+
}, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, {
|
|
257
|
+
colSpan: props.columns.length + (props.multiSelect ? 1 : 0)
|
|
258
|
+
}, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, {
|
|
259
|
+
className: 'center'
|
|
271
260
|
}, "There are no rows to display"))));
|
|
272
261
|
};
|
|
273
262
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Table/TableBody.tsx"],"names":["currentPageRows","onRowClick","selected","TableBody","props","renderCellBody","column","variant","href","color","e","row","iconColor","shape","useTransparentBackground","size","Size","Small","index","event","key","maxWidth","width","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const props = ({variant: 'default', href: '', ...column.additionalProps}) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const props = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...props}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const props = ({\n variant: 'tertiary',\n size: Size.Small,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n <div className={'table-cell-icon'}>{column.icon}</div>\n <span>{row[column.key]}</span>\n </>\n );\n }\n }\n\n return (\n <tbody className={'table-body'}>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <tr key={`row_${index}`}\n className={'table-row'.concat(props.selectable ? ' selectable' : '')}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={(event) => event.preventDefault()}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <td className={'table-cell'}>\n <div className={'table-cell-content'}>\n <Checkbox selected={props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1} readonly={true}/>\n </div>\n </td>\n }\n {props.columns.map((column: TableColumn) => (\n <td key={`row_${index}_${column.key}`}\n className={`table-cell`}\n style={column.colorFn ? {\n color: column.colorFn(row, column.key),\n maxWidth: column.width\n } : {maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <div className={`table-cell-content ${column.shortenText && `truncate-text`} ${column.justify}`}>\n {renderCellBody(column, row)}\n </div>\n </td>\n ))}\n </tr>\n ))\n ) : (\n <tr className=\"table-row\" data-testid=\"TestTableNoDataRow\">\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} className=\"table-cell\">\n <div className={'table-cell-content center'}>\n There are no rows to display\n </div>\n </td>\n </tr>\n )}\n\n </tbody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Table/TableBody.tsx"],"names":["currentPageRows","onRowClick","selected","TableBody","props","renderCellBody","column","variant","href","color","e","row","iconColor","shape","useTransparentBackground","size","Size","Small","index","event","key","maxWidth","width"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const props = ({variant: 'default', href: '#', ...column.additionalProps}) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const props = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...props}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const props = ({\n variant: 'tertiary',\n size: Size.Small,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={props.selectable ? 'selectable' : ''}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={(event) => event.preventDefault()}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1}\n readonly={true}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={column.colorFn ? {\n color: column.colorFn(row, column.key),\n maxWidth: column.width\n } : {maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "prop-types", "react", "../Dropdown", "../Button", "../icons/systemicons/SystemIcons", "../styles"], factory);
|
|
3
|
+
define(["exports", "prop-types", "react", "../Dropdown", "../Button", "../icons/systemicons/SystemIcons", "../styles", "./TableStyles", "../icons"], factory);
|
|
4
4
|
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("prop-types"), require("react"), require("../Dropdown"), require("../Button"), require("../icons/systemicons/SystemIcons"), require("../styles"));
|
|
5
|
+
factory(exports, require("prop-types"), require("react"), require("../Dropdown"), require("../Button"), require("../icons/systemicons/SystemIcons"), require("../styles"), require("./TableStyles"), require("../icons"));
|
|
6
6
|
} else {
|
|
7
7
|
var mod = {
|
|
8
8
|
exports: {}
|
|
9
9
|
};
|
|
10
|
-
factory(mod.exports, global.propTypes, global.react, global.Dropdown, global.Button, global.SystemIcons, global.styles);
|
|
10
|
+
factory(mod.exports, global.propTypes, global.react, global.Dropdown, global.Button, global.SystemIcons, global.styles, global.TableStyles, global.icons);
|
|
11
11
|
global.undefined = mod.exports;
|
|
12
12
|
}
|
|
13
|
-
})(this, function (exports, _propTypes, _react, _Dropdown, _Button, _SystemIcons, _styles) {
|
|
13
|
+
})(this, function (exports, _propTypes, _react, _Dropdown, _Button, _SystemIcons, _styles, _TableStyles, _icons) {
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -38,26 +38,23 @@
|
|
|
38
38
|
label: '100'
|
|
39
39
|
}];
|
|
40
40
|
const dropDownText = `Rows per page: ${props.rowsPerPage}`;
|
|
41
|
-
return /*#__PURE__*/_react2.default.createElement("
|
|
42
|
-
className: 'table-footer'
|
|
43
|
-
}, /*#__PURE__*/_react2.default.createElement("tr", null, /*#__PURE__*/_react2.default.createElement("td", {
|
|
41
|
+
return /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooter, null, /*#__PURE__*/_react2.default.createElement("tr", null, /*#__PURE__*/_react2.default.createElement("td", {
|
|
44
42
|
colSpan: props.columns.length + (props.multiSelect ? 1 : 0),
|
|
45
43
|
"data-testid": "TestTableFooterRow"
|
|
46
|
-
}, /*#__PURE__*/_react2.default.createElement(
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
}, props.accordion && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterCollapseButton, {
|
|
45
|
+
onClick: () => props.setIsCollapsed(!props.isCollapsed),
|
|
46
|
+
onMouseDown: e => e.preventDefault(),
|
|
47
|
+
disabled: props.isCollapsed && props.rows.length <= props.rowsPerPage
|
|
48
|
+
}, props.isCollapsed && /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("span", null, "Show more(", props.rows.length - props.rowsPerPage, ")"), /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ArrowDropDown, null)), !props.isCollapsed && /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("span", null, "Show less"), /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ArrowDropUp, null))), !props.accordion && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterContent, null, /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownFilter, {
|
|
49
49
|
id: "rows-per-page",
|
|
50
50
|
list: rowsPerPageValues,
|
|
51
|
+
margin: '0',
|
|
51
52
|
disableSorting: true,
|
|
52
53
|
onSelect: value => props.onRowsPerPageChange(+value),
|
|
53
54
|
initalValue: dropDownText,
|
|
54
55
|
keepInitialValue: true,
|
|
55
56
|
isButton: true
|
|
56
|
-
}), /*#__PURE__*/_react2.default.createElement("
|
|
57
|
-
className: "current-page-info"
|
|
58
|
-
}, props.total === 0 ? 0 : props.from, "-", props.to, " of ", props.total), /*#__PURE__*/_react2.default.createElement("div", {
|
|
59
|
-
className: "controls"
|
|
60
|
-
}, /*#__PURE__*/_react2.default.createElement(_Button.IconButton, {
|
|
57
|
+
}), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterCurrentInfo, null, props.total === 0 ? 0 : props.from, "-", props.to, " of ", props.total), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterControls, null, /*#__PURE__*/_react2.default.createElement(_Button.IconButton, {
|
|
61
58
|
variant: "secondary",
|
|
62
59
|
shape: "circular",
|
|
63
60
|
action: () => props.prevPage(),
|
|
@@ -83,7 +80,9 @@
|
|
|
83
80
|
to: _propTypes2.default.number,
|
|
84
81
|
total: _propTypes2.default.number,
|
|
85
82
|
nextPage: _propTypes2.default.func.isRequired,
|
|
86
|
-
prevPage: _propTypes2.default.func.isRequired
|
|
83
|
+
prevPage: _propTypes2.default.func.isRequired,
|
|
84
|
+
setIsCollapsed: _propTypes2.default.func.isRequired,
|
|
85
|
+
isCollapsed: _propTypes2.default.bool.isRequired
|
|
87
86
|
};
|
|
88
87
|
exports.default = TableFooter;
|
|
89
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Table/TableFooter.tsx"],"names":["onRowsPerPageChange","rowsPerPage","from","to","total","nextPage","prevPage","TableFooter","props","rowsPerPageValues","label","dropDownText","value","COLORS","neutral_600"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/Table/TableFooter.tsx"],"names":["onRowsPerPageChange","rowsPerPage","from","to","total","nextPage","prevPage","setIsCollapsed","isCollapsed","TableFooter","props","rowsPerPageValues","label","dropDownText","e","value","COLORS","neutral_600"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={e => e.preventDefault()}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>Show more({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>Show less</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n margin={'0'}\n disableSorting={true}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "prop-types", "react", "../icons/systemicons/SystemIcons", "../Dropdown", "../icons", "../types", "../InputFields"], factory);
|
|
3
|
+
define(["exports", "prop-types", "react", "../icons/systemicons/SystemIcons", "../Dropdown", "../icons", "../types", "../InputFields", "./TableStyles"], factory);
|
|
4
4
|
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("prop-types"), require("react"), require("../icons/systemicons/SystemIcons"), require("../Dropdown"), require("../icons"), require("../types"), require("../InputFields"));
|
|
5
|
+
factory(exports, require("prop-types"), require("react"), require("../icons/systemicons/SystemIcons"), require("../Dropdown"), require("../icons"), require("../types"), require("../InputFields"), require("./TableStyles"));
|
|
6
6
|
} else {
|
|
7
7
|
var mod = {
|
|
8
8
|
exports: {}
|
|
9
9
|
};
|
|
10
|
-
factory(mod.exports, global.propTypes, global.react, global.SystemIcons, global.Dropdown, global.icons, global.types, global.InputFields);
|
|
10
|
+
factory(mod.exports, global.propTypes, global.react, global.SystemIcons, global.Dropdown, global.icons, global.types, global.InputFields, global.TableStyles);
|
|
11
11
|
global.undefined = mod.exports;
|
|
12
12
|
}
|
|
13
|
-
})(this, function (exports, _propTypes, _react, _SystemIcons, _Dropdown, _icons, _types, _InputFields) {
|
|
13
|
+
})(this, function (exports, _propTypes, _react, _SystemIcons, _Dropdown, _icons, _types, _InputFields, _TableStyles) {
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -46,31 +46,21 @@
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
const TableHeader = props => {
|
|
49
|
-
return /*#__PURE__*/_react2.default.createElement(
|
|
50
|
-
className: 'table-header'
|
|
51
|
-
}, !!props.title && /*#__PURE__*/_react2.default.createElement("tr", {
|
|
52
|
-
className: 'table-header-title',
|
|
49
|
+
return /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeader, null, !!props.title && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderTitle, {
|
|
53
50
|
"data-testid": "TestTableHeaderRow"
|
|
54
51
|
}, /*#__PURE__*/_react2.default.createElement("th", {
|
|
55
52
|
colSpan: props.columns.length + (props.multiSelect ? 1 : 0)
|
|
56
|
-
}, /*#__PURE__*/_react2.default.createElement("
|
|
57
|
-
className: 'title-content'
|
|
58
|
-
}, /*#__PURE__*/_react2.default.createElement("span", null, props.title), props.menu && /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownButton, _extends({
|
|
53
|
+
}, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderTitleContent, null, /*#__PURE__*/_react2.default.createElement("span", null, props.title), props.menu && /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownButton, _extends({
|
|
59
54
|
className: 'title-menu',
|
|
60
55
|
icon: /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.MoreVertical, null),
|
|
61
56
|
size: _types.Size.Medium
|
|
62
|
-
}, props.menu))))), /*#__PURE__*/_react2.default.createElement(
|
|
63
|
-
className: 'table-header-columns',
|
|
57
|
+
}, props.menu))))), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumns, {
|
|
64
58
|
"data-testid": "TestTableColumnHeaderRow"
|
|
65
|
-
}, props.multiSelect && /*#__PURE__*/_react2.default.createElement(
|
|
66
|
-
className: 'table-header-column'
|
|
67
|
-
}, /*#__PURE__*/_react2.default.createElement("div", {
|
|
68
|
-
className: 'header-content'
|
|
69
|
-
}, /*#__PURE__*/_react2.default.createElement(_InputFields.Checkbox, {
|
|
59
|
+
}, props.multiSelect && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumn, null, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumnContent, null, /*#__PURE__*/_react2.default.createElement(_InputFields.Checkbox, {
|
|
70
60
|
selected: props.selectAllState === 'all',
|
|
71
61
|
semiSelected: props.selectAllState === 'some',
|
|
72
62
|
select: props.onSelectAllClick
|
|
73
|
-
}))), props.columns.map(column => /*#__PURE__*/_react2.default.createElement(
|
|
63
|
+
}))), props.columns.map(column => /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumn, {
|
|
74
64
|
key: column.key,
|
|
75
65
|
onMouseDown: e => e.preventDefault(),
|
|
76
66
|
onClick: e => props.sortByColumn(column),
|
|
@@ -83,10 +73,8 @@
|
|
|
83
73
|
width: column.width
|
|
84
74
|
},
|
|
85
75
|
tabIndex: column.sortable ? 0 : -1,
|
|
86
|
-
className:
|
|
87
|
-
}, /*#__PURE__*/_react2.default.createElement("
|
|
88
|
-
className: 'header-content'
|
|
89
|
-
}, /*#__PURE__*/_react2.default.createElement("span", null, column.name), column.sortable && (column.sortingDirection === 'asc' ? /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineUp, {
|
|
76
|
+
className: `${!!column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`
|
|
77
|
+
}, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumnContent, null, /*#__PURE__*/_react2.default.createElement("span", null, column.name), column.sortable && (column.sortingDirection === 'asc' ? /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineUp, {
|
|
90
78
|
size: '24px'
|
|
91
79
|
}) : /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineDown, {
|
|
92
80
|
size: '24px'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Table/TableHeaders.tsx"],"names":["sortByColumn","onSelectAllClick","selectAllState","TableHeader","props","Size","Medium","column","e","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/Table/TableHeaders.tsx"],"names":["sortByColumn","onSelectAllClick","selectAllState","TableHeader","props","Size","Medium","column","e","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableColumn, TableProps} from './TableTypes';\nimport {ArrowLineDown, ArrowLineUp} from '../icons/systemicons/SystemIcons';\nimport {DropdownButton} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {Size} from '../types';\nimport {Checkbox} from '../InputFields';\nimport {\n StyledTableHeader, StyledTableHeaderColumn, StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableHeaderTitle,\n StyledTableHeaderTitleContent\n} from './TableStyles';\n\n\ninterface TableHeaderProps extends TableProps {\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableHeader: React.FunctionComponent<TableHeaderProps> = props => {\n\n return (\n <StyledTableHeader>\n {\n !!props.title &&\n <StyledTableHeaderTitle data-testid=\"TestTableHeaderRow\">\n <th colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableHeaderTitleContent>\n <span>{props.title}</span>\n {\n props.menu &&\n <DropdownButton className={'title-menu'}\n icon={<SystemIcons.MoreVertical/>}\n size={Size.Medium} {...props.menu}/>\n }\n </StyledTableHeaderTitleContent>\n </th>\n </StyledTableHeaderTitle>\n }\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n semiSelected={props.selectAllState === 'some'}\n select={props.onSelectAllClick}/>\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableHeaderColumn key={column.key}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.sortByColumn(column)\n }\n }}\n style={{width: column.width}}\n tabIndex={column.sortable ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.sortable &&\n (\n column.sortingDirection === 'asc'\n ? <ArrowLineUp size={'24px'}/>\n : <ArrowLineDown size={'24px'}/>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n\n </StyledTableHeader>\n )\n}\n\nexport default TableHeader;\n"],"file":"TableHeaders.js"}
|