diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ColumHelper.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ColumHelper.js index 2b9a7136891f0955c7cbcf5d29a2f16b7974ecfd..8197a7a0e79ed22cc0cf0dc65bae68cdfdfad2ab 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ColumHelper.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ColumHelper.js @@ -4,12 +4,13 @@ import { BooleanColumnFilter } from "./BooleanFilter"; import { MultiSelectFilter } from "./MultiSelectfilter"; import { SelectFilter } from "./SelectFilter"; import { DataRangeFilter } from "./DataRangeFilter"; +import { DateFilter } from "./DateFilter"; export function getFilterHeader(key, column, getoptions, data) { const isDebugLoggingOn=false - if (isDebugLoggingOn) console.log ("getFilterHeader",key,column,data) + if (isDebugLoggingOn) console.log ("Column Helper getFilterHeader",key,column,data) switch (column?.filter) { @@ -17,6 +18,8 @@ export function getFilterHeader(key, column, getoptions, data) { return { filterHeader: (options) => { return SelectFilter(options,column,data,getoptions,key)}, filter: FilterMatchMode.EQUALS } case "range": return { filterHeader: (options) => { return RangeColumnFilter(options,data,key) } , filter:FilterMatchMode.BETWEEN } + case "date": + return { filterHeader: (options) => { return DateFilter(options,data,key) } , filter:FilterMatchMode.DATE_IS } case "multiselect-filter": return { filterHeader: (options) => { return MultiSelectFilter(options,data,key,getoptions,column) } , filter:FilterMatchMode.IN } case "switch": diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/DateFilter.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/DateFilter.js new file mode 100644 index 0000000000000000000000000000000000000000..2b287794c72861e12f9a8ab97cd4f4998225dd33 --- /dev/null +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/DateFilter.js @@ -0,0 +1,14 @@ +// This is a custom filter UI that uses a +// switch to set the value + +import { Calendar } from "primereact/calendar" +export function DateFilter(options) { + + + + const isDebugLoggingOn = false + if (isDebugLoggingOn) console.log("DataFilter", options) + return <Calendar id="calendar-24h" value={options.value} dateFormat="yy-mm-dd" onChange={(e) => { options.filterApplyCallback(e.value) }} hourFormat="24" /> +} + + diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/RangeFilter.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/RangeFilter.js index 348a89661ff836ee555a29e4318c26d689c90578..0f0b6ee6bde6629c7839c535c11006f9403e1a89 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/RangeFilter.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/RangeFilter.js @@ -5,7 +5,7 @@ import { useMemo } from 'react' export function RangeColumnFilter(options, data, key) { const isDebugLoggingOn = false - if (isDebugLoggingOn) console.log("RangeColumnFilter", options, data) + if (isDebugLoggingOn) console.log("RangeColumnFilter", options, data,key) const [min, max] = useMemo(() => { let min = 0; let max = 0; @@ -23,7 +23,7 @@ export function RangeColumnFilter(options, data, key) { if (!options.value) { options.value = [min, max]; } - + if (isDebugLoggingOn) console.log("RangeColumnFilter Min="+ min + "max=" +max, options, data,key) return ( <> <div className="filter-slider-label"> diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ViewTableExt.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ViewTableExt.js index c67e8afbdbdac1b2f2231b926ce2d69b413d845e..6248ff30113b70c3e6a5d63a4876643522df0d18 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ViewTableExt.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable/ViewTableExt.js @@ -6,6 +6,7 @@ import { getFilterHeader } from "./ColumHelper"; import { Button } from "primereact/button"; import { OverlayPanel } from "primereact/overlaypanel"; import { ListBox } from "primereact/listbox"; +import UIConstants from "../../utils/ui.constants"; export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, columnclassname, columnOrders, defaultSortColumn, showaction, keyaccessor, tablename, allowRowSelection, onRowSelection, toggleBySorting, lsKeySortColumn, pageUpdated, storeFilter, showFilterOption, showActionInNewTab = false, viewInNewWindow = false, actionCallback, lazy, totalRecords, callBackFunction }) { @@ -92,8 +93,7 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c }, [lazyState]); - - useEffect(() => { + const prepareColumns = () =>{ console.log("ViewTable loadinks") const storedTableConfigData = localStorage.getItem(tablePrefix + tablename); let tableConfigData = null @@ -106,7 +106,7 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c if (allowRowSelection) { SelectColumns.push(SelectorColumn()) } if (showaction) { actionColumns.push(ActionColumn()); } let { Columns: defaultColumns, filters } = GetColumns(defaultcolumns, tableConfigData) - let { Columns: optionalColumns, filters: selectableFilters } = GetColumns(optionalcolumns[0], tableConfigData) + let { Columns: optionalColumns, filters: selectableFilters } = GetColumns(optionalcolumns?.[0], tableConfigData) let allvisiblecolums = VisibleColums(defaultColumns, optionalColumns) setVisibleColumns([...SelectColumns, ...actionColumns, ...allvisiblecolums]); @@ -114,12 +114,20 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c let combinedfilters = { ...filters, ...selectableFilters } console.log("combinedfilters", combinedfilters) setFilters(combinedfilters); + return {combinedfilters,storedTableConfigData} + } + + useEffect(() => { + let { combinedfilters,storedTableConfigData} = prepareColumns(); + if (lazy &&callBackFunction ) { callBackFunction({ filters:combinedfilters,rows:storedTableConfigData?.rows || 25, first:0}) } }, []); - + useEffect(() => { + prepareColumns(); + },[data]); const SelectorColumn = () => { return (<Column @@ -164,6 +172,23 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c return <span className={" tag-content " + cssclass}>{tag}</span> } + const formatDate = (value) => { + if (!value) return "" + return value.toLocaleDateString('fr-CA', { + year: 'numeric', + month: '2-digit', + day: '2-digit' + + + }); + }; + const DatefromStringBodyTemplate = (date) => { + return formatDate(date) + + } + + + const navigateTo = (datarow) => () => { let actionpath = datarow?.actionpath @@ -185,22 +210,15 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c } } - - - const GetColumns = (newColumns, tableConfigData) => { let Columns = [] let filters = {}; - if (!newColumns) { return { Columns, filters } } - - Columns = Object.entries(newColumns).map(([key, column]) => { const field = key; const header = column?.name || column; let { filterHeader, filter } = getFilterHeader(key, column, showFilterOption, data); let xvalue = tableConfigData?.filters?.[key]?.value - if (column?.defaultvalue && !xvalue) { xvalue = column?.defaultvalue } @@ -224,6 +242,12 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c if (column.showTag) { columnProps.body = (rowData) => TagBodyTemplate(rowData[key], column) } + // legacy mode, having a date. + if (column.format== UIConstants.CALENDAR_DEFAULTDATE_FORMAT){ + columnProps.body = (rowData) => DatefromStringBodyTemplate(rowData[key]) + columnProps.dateType="date" + } + if (filterHeader) { columnProps.filterElement = filterHeader; } if (column.className) { columnProps.bodyClassName = column.className; } // legacy support @@ -237,6 +261,9 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c case "filter-input-100": columnProps.style = { minWidth: '100px' } break; + case "filter-input-75": + columnProps.style = { minWidth: '75px' } + break; case "filter-input-50": columnProps.style = { minWidth: '50px' } break; @@ -252,6 +279,7 @@ export function ViewTableExt({ loading, data, defaultcolumns, optionalcolumns, c const generateFilter = (key, matchmode, filtervalue = null) => { let tableFilter = { matchMode: matchmode, value: filtervalue } + if (matchmode=="dateIs" && tableFilter.value) tableFilter.value= new Date(tableFilter.value) return tableFilter } diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/__snapshots__/list.test.js.snap b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/__snapshots__/list.test.js.snap new file mode 100644 index 0000000000000000000000000000000000000000..8efaeee682f83307c4a12db7d6f884f4de412b4f --- /dev/null +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/__snapshots__/list.test.js.snap @@ -0,0 +1,1828 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`render observing time in hours 1`] = ` +<DocumentFragment> + <div + class="page-header defaultpageHeader" + > + <div + class="title" + > + <h2 + class="page-title" + > + Cycle - List + </h2> + </div> + <div + class="page-action-menu page-actionsdefaultpageHeader" + > + <button + class="p-button p-component p-button-icon-only" + data-pc-name="button" + data-pc-section="root" + title="Click to Add Cycle" + > + <span + class="p-button-icon p-c pi pi-plus" + data-pc-section="icon" + /> + <span + class="p-button-label p-c" + data-pc-section="label" + > + + </span> + </button> + </div> + </div> + <div + class="tablewrapperext" + > + <div + class="p-datatable p-component p-datatable-selectable p-datatable-resizable p-datatable-scrollable p-datatable-flex-scrollable p-datatable-responsive-scroll p-datatable-striped p-datatable-gridlines p-datatable-sm" + data-pc-name="datatable" + data-pc-section="root" + data-scrollselectors=".p-datatable-wrapper" + data-showgridlines="true" + data-testid="viewtable" + pr_id_36="" + > + <div + class="p-datatable-header" + data-pc-section="header" + > + <button + class="p-button p-component p-button-icon-only" + data-pc-name="button" + data-pc-section="root" + > + <span + class="p-button-icon p-c pi pi-wrench" + data-pc-section="icon" + /> + <span + class="p-button-label p-c" + data-pc-section="label" + > + + </span> + </button> + </div> + <div + class="p-datatable-wrapper" + data-pc-section="wrapper" + style="overflow: auto; max-height: flex;" + > + <table + class="p-datatable-table p-datatable-scrollable-table p-datatable-resizable-table" + data-pc-section="table" + role="table" + style="min-width: 0px; width: 0px;" + > + <thead + class="p-datatable-thead" + data-pc-name="datatable" + data-pc-section="thead" + role="rowgroup" + > + <tr + data-pc-section="headerrow" + role="row" + > + <th + class="p-filter-column p-resizable-column p-frozen-column" + data-p-filter-column="true" + data-p-frozen-column="true" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="false" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 3rem; text-align: center; left: 0px;" + > + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + /> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 75px;" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + Cycle Code + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + Start Date + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + End Date + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 50px;" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + No.of Projects + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 75px;" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + Lofar Observing Time (Hrs) + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 75px;" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + Lofar Processing Time (Hrs) + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + <th + aria-sort="none" + class="p-filter-column p-sortable-column p-resizable-column p-reorderable-column" + data-p-filter-column="true" + data-p-frozen-column="false" + data-p-reorderable-column="true" + data-p-resizable-column="true" + data-p-sortable-column="true" + data-pc-name="datatable" + data-pc-section="headercell" + role="columnheader" + style="min-width: 75px;" + tabindex="0" + > + <span + class="p-column-resizer" + data-pc-section="columnresizer" + /> + <div + class="p-column-header-content" + data-pc-section="headercontent" + > + <span + class="p-column-title" + data-pc-section="headertitle" + > + Lofar LTA Resources(TB) + </span> + <span + data-pc-section="sort" + > + <svg + aria-hidden="true" + class="p-icon p-sortable-column-icon" + data-pc-section="sorticon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z" + fill="currentColor" + /> + <path + d="M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z" + fill="currentColor" + /> + <path + d="M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z" + fill="currentColor" + /> + </svg> + </span> + </div> + </th> + </tr> + <tr + data-pc-section="headerrow" + role="row" + > + <th + class="p-filter-column p-frozen-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="left: 0px;" + /> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="min-width: 75px;" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <input + aria-label="Cycle Code" + class="p-inputtext p-component p-column-filter" + data-pc-name="inputtext" + data-pc-section="root" + placeholder="Cycle Code" + type="text" + value="" + /> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <span + class="p-calendar p-component p-inputwrapper" + data-pc-name="calendar" + data-pc-section="root" + id="calendar-24h" + > + <input + aria-autocomplete="none" + aria-controls="calendar-24h_panel" + aria-expanded="false" + aria-haspopup="dialog" + autocomplete="off" + class="p-inputtext p-component" + data-pc-name="inputtext" + data-pc-section="root" + inputmode="none" + role="combobox" + type="text" + /> + </span> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <span + class="p-calendar p-component p-inputwrapper" + data-pc-name="calendar" + data-pc-section="root" + id="calendar-24h" + > + <input + aria-autocomplete="none" + aria-controls="calendar-24h_panel" + aria-expanded="false" + aria-haspopup="dialog" + autocomplete="off" + class="p-inputtext p-component" + data-pc-name="inputtext" + data-pc-section="root" + inputmode="none" + role="combobox" + type="text" + /> + </span> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="min-width: 50px;" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <div + class="filter-slider-label" + > + <span + style="float: left;" + > + 0 + </span> + <span + style="float: right; margin-right: 5px;" + > + 3 + </span> + </div> + <div + class="p-slider p-component filter-slider p-slider-horizontal" + data-pc-name="slider" + data-pc-section="root" + > + <span + class="p-slider-range" + data-pc-section="range" + style="position: absolute; left: 0%; width: 100%;" + /> + <span + aria-orientation="horizontal" + aria-valuemax="3" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-start p-slider-handle-active" + data-pc-section="handle" + role="slider" + style="position: absolute; left: 0%;" + tabindex="0" + /> + <span + aria-orientation="horizontal" + aria-valuemax="3" + aria-valuemin="0" + aria-valuenow="100" + class="p-slider-handle p-slider-handle-end" + data-pc-section="handle" + role="slider" + style="position: absolute; left: 100%;" + tabindex="0" + /> + </div> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="min-width: 75px;" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <div + class="filter-slider-label" + > + <span + style="float: left;" + > + 0 + </span> + <span + style="float: right; margin-right: 5px;" + > + 5299.2 + </span> + </div> + <div + class="p-slider p-component filter-slider p-slider-horizontal" + data-pc-name="slider" + data-pc-section="root" + > + <span + class="p-slider-range" + data-pc-section="range" + style="position: absolute; left: 0%; width: 100%;" + /> + <span + aria-orientation="horizontal" + aria-valuemax="5299.2" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-start p-slider-handle-active" + data-pc-section="handle" + role="slider" + style="position: absolute; left: 0%;" + tabindex="0" + /> + <span + aria-orientation="horizontal" + aria-valuemax="5299.2" + aria-valuemin="0" + aria-valuenow="100" + class="p-slider-handle p-slider-handle-end" + data-pc-section="handle" + role="slider" + style="position: absolute; left: 100%;" + tabindex="0" + /> + </div> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="min-width: 75px;" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <div + class="filter-slider-label" + > + <span + style="float: left;" + > + 0 + </span> + <span + style="float: right; margin-right: 5px;" + /> + </div> + <div + class="p-slider p-component filter-slider p-slider-horizontal" + data-pc-name="slider" + data-pc-section="root" + > + <span + class="p-slider-range" + data-pc-section="range" + style="position: absolute;" + /> + <span + aria-orientation="horizontal" + aria-valuemax="0" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-start p-slider-handle-active" + data-pc-section="handle" + role="slider" + style="position: absolute;" + tabindex="0" + /> + <span + aria-orientation="horizontal" + aria-valuemax="0" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-end" + data-pc-section="handle" + role="slider" + style="position: absolute;" + tabindex="0" + /> + </div> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + <th + class="p-filter-column" + data-pc-name="datatable" + data-pc-section="headercell" + style="min-width: 75px;" + > + <div + class="p-column-filter p-fluid p-column-filter-row" + data-pc-section="columnfilter" + > + <div + class="p-fluid p-column-filter-element" + data-pc-section="filterinput" + > + <div + class="filter-slider-label" + > + <span + style="float: left;" + > + 0 + </span> + <span + style="float: right; margin-right: 5px;" + /> + </div> + <div + class="p-slider p-component filter-slider p-slider-horizontal" + data-pc-name="slider" + data-pc-section="root" + > + <span + class="p-slider-range" + data-pc-section="range" + style="position: absolute;" + /> + <span + aria-orientation="horizontal" + aria-valuemax="0" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-start p-slider-handle-active" + data-pc-section="handle" + role="slider" + style="position: absolute;" + tabindex="0" + /> + <span + aria-orientation="horizontal" + aria-valuemax="0" + aria-valuemin="0" + aria-valuenow="0" + class="p-slider-handle p-slider-handle-end" + data-pc-section="handle" + role="slider" + style="position: absolute;" + tabindex="0" + /> + </div> + </div> + <button + aria-label="Clear" + class="p-column-filter-clear-button p-link p-hidden-space" + data-pc-section="headerfilterclearbutton" + type="button" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="filterclearicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + </th> + </tr> + </thead> + <tbody + class="p-datatable-tbody" + data-pc-section="tbody" + role=" rowgroup" + > + <tr + aria-selected="false" + class="p-selectable-row" + data-p-highlight="false" + data-p-highlight-contextmenu="false" + data-p-selectable-row="true" + data-pc-section="bodyrow" + role="row" + tabindex="0" + > + <td + class="p-frozen-column" + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="true" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="text-align: center; overflow: visible; min-width: 3rem; left: 0px;" + > + <a + class="p-link" + href="/cycle/view/Cycle 14" + target="" + > + + <i + class="pi pi-eye" + style="cursor: pointer;" + /> + + </a> + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + Cycle 14 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2020-06-01 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2020-11-30 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 50px;" + > + 0 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.000 + </td> + </tr> + <tr + aria-selected="false" + class="p-selectable-row p-row-odd" + data-p-highlight="false" + data-p-highlight-contextmenu="false" + data-p-selectable-row="true" + data-pc-section="bodyrow" + role="row" + tabindex="-1" + > + <td + class="p-frozen-column" + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="true" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="text-align: center; overflow: visible; min-width: 3rem; left: 0px;" + > + <a + class="p-link" + href="/cycle/view/Cycle 15" + target="" + > + + <i + class="pi pi-eye" + style="cursor: pointer;" + /> + + </a> + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + Cycle 15 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2020-12-01 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2021-05-31 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 50px;" + > + 0 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.000 + </td> + </tr> + <tr + aria-selected="false" + class="p-selectable-row" + data-p-highlight="false" + data-p-highlight-contextmenu="false" + data-p-selectable-row="true" + data-pc-section="bodyrow" + role="row" + tabindex="-1" + > + <td + class="p-frozen-column" + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="true" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="text-align: center; overflow: visible; min-width: 3rem; left: 0px;" + > + <a + class="p-link" + href="/cycle/view/Cycle 16" + target="" + > + + <i + class="pi pi-eye" + style="cursor: pointer;" + /> + + </a> + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + Cycle 16 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2021-06-01 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2021-11-30 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 50px;" + > + 3 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 5299.20 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.000 + </td> + </tr> + <tr + aria-selected="false" + class="p-selectable-row p-row-odd" + data-p-highlight="false" + data-p-highlight-contextmenu="false" + data-p-selectable-row="true" + data-pc-section="bodyrow" + role="row" + tabindex="-1" + > + <td + class="p-frozen-column" + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="true" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="text-align: center; overflow: visible; min-width: 3rem; left: 0px;" + > + <a + class="p-link" + href="/cycle/view/Cycle 17" + target="" + > + + <i + class="pi pi-eye" + style="cursor: pointer;" + /> + + </a> + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + Cycle 17 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2021-12-01 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + > + 2022-05-31 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 50px;" + > + 0 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.00 + </td> + <td + data-p-cell-editing="false" + data-p-editable-column="false" + data-p-frozen-column="false" + data-p-selectable-cell="false" + data-p-selection-column="false" + data-pc-name="datatable" + data-pc-section="bodycell" + role="cell" + style="min-width: 75px;" + > + 0.000 + </td> + </tr> + </tbody> + </table> + </div> + <div + class="p-paginator-bottom p-paginator p-component" + data-pc-name="paginator" + data-pc-section="root" + > + <div + class="p-dropdown p-component p-inputwrapper p-inputwrapper-filled" + data-p-disabled="false" + data-p-focus="false" + data-pc-name="dropdown" + data-pc-section="root" + > + <div + class="p-hidden-accessible" + data-pc-section="hiddenselectedmessage" + > + <input + aria-haspopup="listbox" + aria-label="Jump to Page Dropdown" + data-pc-section="input" + readonly="" + tabindex="0" + type="text" + value="15" + /> + </div> + <div + class="p-hidden-accessible p-dropdown-hidden-select" + data-pc-section="hiddenselectedmessage" + > + <select + aria-hidden="true" + data-pc-section="select" + tabindex="-1" + > + <option + data-pc-section="option" + selected="" + value="15" + > + 15 + </option> + </select> + </div> + <span + class="p-dropdown-label p-inputtext" + data-pc-section="input" + tabindex="-1" + > + 15 + </span> + <div + aria-expanded="false" + aria-haspopup="listbox" + aria-label="Choose" + class="p-dropdown-trigger" + data-pc-section="trigger" + role="button" + > + <svg + aria-hidden="true" + class="p-icon p-dropdown-trigger-icon p-clickable" + data-pc-section="dropdownicon" + data-pr-overlay-visible="false" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z" + fill="currentColor" + /> + </svg> + </div> + </div> + <button + aria-label="First Page" + class="p-paginator-first p-paginator-element p-link p-disabled" + data-pc-section="firstpagebutton" + disabled="" + type="button" + > + <svg + aria-hidden="true" + class="p-icon p-paginator-icon" + data-pc-section="firstpageicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + <button + aria-label="Previous Page" + class="p-paginator-prev p-paginator-element p-link p-disabled" + data-pc-section="prevpagebutton" + disabled="" + type="button" + > + <svg + aria-hidden="true" + class="p-icon p-paginator-icon" + data-pc-section="prevpageicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z" + fill="currentColor" + /> + </svg> + </button> + <span + class="p-paginator-pages" + data-pc-section="pages" + > + <button + aria-current="true" + aria-label="Page 1" + class="p-paginator-page p-paginator-element p-link p-paginator-page-start p-paginator-page-end p-highlight" + data-pc-section="pagebutton" + type="button" + > + 1 + </button> + </span> + <span + aria-live="polite" + class="p-paginator-current" + data-pc-section="current" + > + (1 to 4 of 4) + </span> + <button + aria-label="Next Page" + class="p-paginator-next p-paginator-element p-link p-disabled" + data-pc-section="nextpagebutton" + disabled="" + type="button" + > + <svg + aria-hidden="true" + class="p-icon p-paginator-icon" + data-pc-section="nextpageicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z" + fill="currentColor" + /> + </svg> + </button> + <button + aria-label="Last Page" + class="p-paginator-last p-paginator-element p-link p-disabled" + data-pc-section="lastpagebutton" + disabled="" + type="button" + > + <svg + aria-hidden="true" + class="p-icon p-paginator-icon" + data-pc-section="lastpageicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </button> + </div> + <div + class="p-column-resizer-helper" + data-pc-section="resizehelper" + style="display: none;" + /> + <span + class="p-datatable-reorder-indicator-up" + data-pc-section="reorderindicatorup" + style="position: absolute; display: none;" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="reorderindicatorupicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </span> + <span + class="p-datatable-reorder-indicator-down" + data-pc-section="reorderindicatordown" + style="position: absolute; display: none;" + > + <svg + aria-hidden="true" + class="p-icon" + data-pc-section="reorderindicatordownicon" + fill="none" + height="14" + viewBox="0 0 14 14" + width="14" + xmlns="http://www.w3.org/2000/svg" + > + <path + clip-rule="evenodd" + d="M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z" + fill="currentColor" + fill-rule="evenodd" + /> + </svg> + </span> + </div> + </div> +</DocumentFragment> +`; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js index 7ff73fe5fdae88a7ed4e8746ec9c86750fc5fd84..f15b7a244b9f491a8bdef514a68a4c16bfdfc4c6 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js @@ -1,34 +1,29 @@ import PropTypes from 'prop-types'; -import { Component } from 'react' +import { useEffect,useState } from 'react' import _ from 'lodash'; -import ViewTable from '../../components/ViewTable/ViewTable'; import CycleService from '../../services/cycle.service'; import UnitConversion from '../../utils/unit.converter'; -import AppLoader from '../../layout/components/AppLoader'; import PageHeader from '../../layout/components/PageHeader'; import UIConstants from '../../utils/ui.constants'; -import UtilService from '../../services/util.service'; import AuthUtil from '../../utils/auth.util'; +import { ViewTableExt } from '../../components/ViewTable/ViewTableExt'; + export function CycleList(props) { + let lsTableName = "cycle_list"; + let lsKeySortColumn='cycleSortData'; + let descendingColumn=['start date']; // Values should be lower case + const [cyclelist, setCyclelist] = useState(); + const paths = { "View": "/cycle/view", }; + const [isLoading, setIsLoading] = useState(true); + const [userrole, setUserrole] = useState({ userRolePermission : {}}); + + const projectCategory = ['regular', 'user_shared_support']; + const periodCategory = ['long_term']; + const defaultSortColumn =[{ id: "Cycle Code", desc: false }]; -class CycleList extends Component { - lsTableName = "cycle_list"; - lsKeySortColumn='cycleSortData'; - descendingColumn=['start date']; // Values should be lower case - constructor(props) { - super(props) - this.state = { - cyclelist: [], - paths: [{ - "View": "/cycle/view", - }], - isLoading: true, - userrole: { - userRolePermission : {} - } - } - this.projectCategory = ['regular', 'user_shared_support']; - this.periodCategory = ['long_term']; - this.defaultcolumns = [{ + + + + const defaultcolumns = { id: "Cycle Code", start: { name: "Start Date", @@ -56,8 +51,9 @@ class CycleList extends Component { name: "Lofar LTA Resources(TB)", filter: "range" } - }]; - this.optionalcolumns = [{ + }; + + const optionalcolumns = [{ duration: { name: "Duration (Days)", filter: "range", @@ -86,16 +82,15 @@ class CycleList extends Component { observingTimePrioB: { name: "Lofar Observing Time Prio B (Hrs)", filter: "range" - }, - actionpath: "actionpath" + } }]; - this.columnOrder = [ + const columnOrder = [ "Action", "Cycle Code", "Start Date", "End Date", "Duration (Days)", "No.of Projects", "No.of Regular Projects", "Lofar Observing Time (Hrs)", "Lofar Processing Time (Hrs)", "Lofar LTA Resources(TB)", "Lofar Support (Hrs)", "Lofar Observing Time Commissioning (Hrs)", "Lofar Observing Time Prio A (Hrs)", "Lofar Observing Time Prio B (Hrs)" ] - this.columnclassname = [{ + const columnclassname = [{ "Cycle Code": "filter-input-75", "Duration (Days)": "filter-input-50", "No.of Projects": "filter-input-50", @@ -109,139 +104,113 @@ class CycleList extends Component { "Lofar Observing Time Prio A (Hrs)": "filter-input-75", "Lofar Observing Time Prio B (Hrs)": "filter-input-75" }]; - this.pageUpdated = true; - this.setToggleBySorting(); - this.toggleBySorting = this.toggleBySorting.bind(this); - this.setToggleBySorting = this.setToggleBySorting.bind(this); - this.init= this.init.bind(this); - } - gotoAdd = () => { + const gotoAdd = () => { - this.props.history.push("/cycle/create"); + props.history.push("/cycle/create"); } - getUnitConvertedQuotaValue(cycle, cycleQuota, resourceName,cycleResources) { + const getUnitConvertedQuotaValue = (cycle, cycleQuota, resourceName,cycleResources) =>{ const quota = _.find(cycleQuota, { 'cycle_id': cycle.name, 'resource_type_id': resourceName }); const unitQuantity = cycleResources.find(i => i.name === resourceName).quantity_value; return UnitConversion.getUIResourceUnit(unitQuantity, quota ? quota.value : 0); } - getCycles(cycles = [], cycleQuota,cycleResources) { + const getCycles = (cycles = [], cycleQuota,cycleResources)=> { const promises = []; cycles.map(cycle => promises.push(CycleService.getProjectsByCycle(cycle.name))); Promise.all(promises).then(responses => { const results = cycles; results.map(async (cycle, index) => { + const projects = responses[index]; - const regularProjects = projects.filter(project => this.projectCategory.includes(project.project_category_value)); - const longterm = projects.filter(project => this.periodCategory.includes(project.period_category_value)); + const regularProjects = projects.filter(project => projectCategory.includes(project.project_category_value)); + const longterm = projects.filter(project => periodCategory.includes(project.period_category_value)); + cycle.created_at= new Date(cycle.created_at) + cycle.start= new Date(cycle.start) + cycle.stop= new Date(cycle.stop) + cycle.duration = UnitConversion.getUIResourceUnit('days', cycle.duration); cycle.totalProjects = cycle.projects ? cycle.projects.length : 0; cycle.id = cycle.name; cycle.regularProjects = regularProjects.length; cycle.longterm = longterm.length; - cycle.observingTime = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time',cycleResources); - cycle.processingTime = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'CEP Processing Time',cycleResources); - cycle.ltaResources = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LTA Storage',cycleResources); - cycle.support = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Support Time',cycleResources); - cycle.observingTimeDDT = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time Commissioning',cycleResources); - cycle.observingTimePrioA = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time prio A',cycleResources); - cycle.observingTimePrioB = this.getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time prio B',cycleResources); + cycle.observingTime = getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time',cycleResources); + cycle.processingTime = getUnitConvertedQuotaValue(cycle, cycleQuota, 'CEP Processing Time',cycleResources); + cycle.ltaResources = getUnitConvertedQuotaValue(cycle, cycleQuota, 'LTA Storage',cycleResources); + cycle.support = getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Support Time',cycleResources); + cycle.observingTimeDDT =getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time Commissioning',cycleResources); + cycle.observingTimePrioA = getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time prio A',cycleResources); + cycle.observingTimePrioB = getUnitConvertedQuotaValue(cycle, cycleQuota, 'LOFAR Observing Time prio B',cycleResources); cycle['actionpath'] = `/cycle/view/${cycle.id}`; return cycle; }); - this.setState({ - cyclelist: results, - isLoading: false - }); + + setCyclelist(results); + setIsLoading(false); }); } - componentDidMount(){ - this.init(); - } - async init() { - this.pageUpdated = true; + useEffect(() => { + init(); + }, []); + + const init = async () => { const promisesForAllCycleQuotasAndResources = [CycleService.getAllCycleQuotas(), CycleService.getResources()] const permission = await AuthUtil.getUserPermissionByModule('cycle'); - this.setState({userrole: permission}); + setUserrole(permission) Promise.all(promisesForAllCycleQuotasAndResources).then( responses => { - const cycleQuota = responses[0]; // result from getAllCycleQuotas + const cycleQuota = responses[0]; // result from getAllCycleQuotas const cycleResources = responses[1]; - this.setState({ resources: cycleResources }); // result from getResources. - // Note that the state is not immediatly set, so it's better to pass them to the next function if we do need instant access. CycleService.getAllCycles().then(cyclelist => { - this.getCycles(cyclelist, cycleQuota, cycleResources) + getCycles(cyclelist, cycleQuota, cycleResources) }); }); - this.setToggleBySorting(); } - setToggleBySorting() { - let sortData = UtilService.localStore({ type: 'get', key: this.lsKeySortColumn }); - if(sortData && sortData.length>0) { - if(Object.prototype.toString.call(sortData) === '[object Array]'){ - this.defaultSortColumn = sortData; - } else { - this.defaultSortColumn = [{...sortData}]; - } - } else { - this.defaultSortColumn = [{ id: "Start Date", desc: true }]; - } - this.defaultSortColumn = this.defaultSortColumn || []; - UtilService.localStore({ type: 'set', key: 'cycleSortData', value: this.defaultSortColumn }); - } - - toggleBySorting(sortData) { - UtilService.localStore({ type: 'set', key: this.lsKeySortColumn, value: [{...sortData}] }); - } - render() { - const {cycle} = this.state.userrole; + const render =()=> { + const {cycle} = userrole; return ( <> {cycle && <> - <PageHeader location={this.props.location} title={'Cycle - List'} className="defaultpageHeader" + <PageHeader location={props.location} title={'Cycle - List'} className="defaultpageHeader" actions={[ { icon: 'pi-plus', type: 'buttonv2', title: cycle.create ?'Click to Add Cycle': `Don't have permission to add new Cycle`, disabled: cycle.create?!cycle.create:true, - actOn: 'click', props: { callback: this.gotoAdd } + actOn: 'click', props: { callback: gotoAdd } }]}></PageHeader> - - - {this.state.isLoading ? <AppLoader /> : (this.state.cyclelist && this.state.cyclelist.length) ? - - <ViewTable - data={this.state.cyclelist} - defaultcolumns={this.defaultcolumns} - optionalcolumns={this.optionalcolumns} - columnclassname={this.columnclassname} - defaultSortColumn={this.defaultSortColumn} - columnOrders={this.columnOrder} + <div className="tablewrapperext"> + <ViewTableExt + loading={isLoading} + data={cyclelist} + defaultcolumns={defaultcolumns} + optionalcolumns={optionalcolumns} + columnclassname={columnclassname} + defaultSortColumn={defaultSortColumn} + columnOrders={columnOrder} showaction={true} - paths={this.state.paths} - tablename={this.lsTableName} - toggleBySorting={(sortData) => this.toggleBySorting(sortData)} - lsKeySortColumn={this.lsKeySortColumn} - descendingColumn={this.descendingColumn} - pageUpdated={this.pageUpdated} + paths={paths} + tablename={lsTableName} + lsKeySortColumn={lsKeySortColumn} + descendingColumn={descendingColumn} + pageUpdated={true} storeFilter={true} - /> : <></> - } - + /></div> </>} </> ) } + +return render(); } CycleList.propTypes = { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.test.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.test.js index dfdf40d1166f4921e6d45bd877a077f6f04f55ac..2c63d35ebff7674ae85b1f6bece90c90a35a028c 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.test.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.test.js @@ -87,9 +87,8 @@ beforeEach(() => { const element = content.queryByTestId('viewtable'); expect(element).toBeInTheDocument(); - expect(content.queryAllByTestId('tablerow').length).toBe(4); - expect(content.queryAllByRole('tablehead').length).toBe(8); - + expect(content.queryAllByRole('row').length).toBe(6); + }) it('render cycleId - cycle name conversion', async () => { @@ -97,7 +96,7 @@ beforeEach(() => { await act(async () => { content =render(<Router><CycleList location={{pathname: '/cycle'}} /></Router>, container); }); - expect(content.queryAllByTestId('tablerow')[1].innerHTML.includes('Cycle 16')).toBeTruthy(); + expect(content.queryByText("Cycle 16")).toBeInTheDocument(); }); it('render observing time in hours', async () => { @@ -105,43 +104,5 @@ beforeEach(() => { await act(async () => { content =render(<Router><CycleList location={{pathname: '/cycle'}} /></Router>, container); }); - const observing_time = Math.floor(Number(CycleServiceMock.getAllCycleQuotas[0].value) / 3600); - expect(content.queryAllByTestId('tablerow')[1].innerHTML.includes(observing_time)).toBeTruthy(); - }); - - it('toggle columns in table', async () => { - let content; - await act(async () => { - content =render(<Router><CycleList location={{pathname: '/cycle'}} /></Router>, container); - }); - const columnSelector = content.queryByTitle("Toggle Columns"); - // Default visible columns checked - expect(content.queryAllByRole('tablehead').length).toBe(8); - // Click column selector icon to open the column selection popup - await act( async() => { - fireEvent.click(columnSelector.children[0]); - await new Promise((r) => setTimeout(r, 200)); - }); - // Check if popup is opened by checking the content in the popup - expect(content.getAllByText("Select column(s) to view").length).toBe(1); - expect(content.getAllByTitle("Toggle Column Visible").length).toBe(16); - // Select Duration column and verify if the tablehead count is increased - await act( async() => { - fireEvent.click(content.getAllByTitle("Toggle Column Visible")[4]) - await new Promise((r) => setTimeout(r, 200)); - }); - expect(content.queryAllByRole('tablehead').length).toBe(9); - // Unselect Action column and verify if the tablehead count is decreased - await act( async() => { - fireEvent.click(content.getAllByTitle("Toggle Column Visible")[0]) - await new Promise((r) => setTimeout(r, 200)); - }); - expect(content.queryAllByRole('tablehead').length).toBe(8); - // Select All and verify if all columns are displayed - await act( async() => { - fireEvent.click(content.getAllByTitle("Toggle All Columns Hidden")[0]) - await new Promise((r) => setTimeout(r, 200)); - }); - expect(content.queryAllByRole('tablehead').length).toBe(15); - }); - \ No newline at end of file + expect(content.asFragment()).toMatchSnapshot(); + }); \ No newline at end of file diff --git a/SAS/TMSS/frontend/tmss_webapp/src/tests/__snapshots__/workflow.list.test.js.snap b/SAS/TMSS/frontend/tmss_webapp/src/tests/__snapshots__/workflow.list.test.js.snap index 2e16c3cbddb00870d3118117eb489563c2a8e2bd..5f75b42a0e90fffa1b16d8ddf50335fcefb30361 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/tests/__snapshots__/workflow.list.test.js.snap +++ b/SAS/TMSS/frontend/tmss_webapp/src/tests/__snapshots__/workflow.list.test.js.snap @@ -1662,7 +1662,7 @@ exports[`Workflow List handle WebSocket Workflow handles correctly Websocket Eve data-scrollselectors=".p-datatable-wrapper" data-showgridlines="true" data-testid="viewtable" - pr_id_12="" + pr_id_16="" > <div class="p-datatable-header"