diff --git a/package.json b/package.json
index da48a94f..24fd5539 100644
--- a/package.json
+++ b/package.json
@@ -25,16 +25,30 @@
"@popperjs/core": "^2.11.6",
"@tanstack/react-query": "^5.14.1",
"@tanstack/react-table": "^8.7.9",
- "axios": "^1.3.2",
+ "axios": "^1.8.3",
+ "classnames": "^2.5.1",
"dompurify": "^3.0.5",
+ "html-to-react": "^1.7.0",
+ "immutability-helper": "^3.1.1",
+ "lodash": "^4.17.21",
"lodash.truncate": "^4.4.2",
+ "moment": "^2.30.1",
"prop-types": "^15.8.1",
"qs": "^6.11.2",
"react-datepicker": "^4.10.0",
+ "react-dnd-html5-backend": "^16.0.1",
+ "react-dnd": "^16.0.1",
+ "react-perfect-scrollbar": "^1.5.8",
"react-popper": "^2.3.0",
+ "react-popper-tooltip": "^4.4.2",
"react-responsive": "^9.0.2",
"react-router-dom": "^6.8.0",
- "swagger-ui-react": "^5.11.3"
+ "react-router-hash-link": "^2.4.3",
+ "react-socks": "^2.2.0",
+ "react-table": "^7.8.0",
+ "react-tiny-popover": "^8.1.6",
+ "swagger-ui-react": "^5.11.3",
+ "@fortawesome/react-fontawesome": "^0.2.2"
},
"devDependencies": {
"@babel/preset-env": "^7.22.5",
diff --git a/src/api/axiosInstance.js b/src/api/axiosInstance.js
new file mode 100644
index 00000000..b8008320
--- /dev/null
+++ b/src/api/axiosInstance.js
@@ -0,0 +1,4 @@
+import axios from 'axios'
+
+// Creates a 'shared' instance so that it can be easily used and mocked where needed
+export const pdcAxiosInstance = axios.create()
diff --git a/src/assets/icons/archive.svg b/src/assets/icons/archive.svg
new file mode 100644
index 00000000..d9094236
--- /dev/null
+++ b/src/assets/icons/archive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow-left.svg b/src/assets/icons/arrow-left.svg
new file mode 100644
index 00000000..e0b40223
--- /dev/null
+++ b/src/assets/icons/arrow-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow-right.svg b/src/assets/icons/arrow-right.svg
new file mode 100644
index 00000000..0b89191d
--- /dev/null
+++ b/src/assets/icons/arrow-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow-to-bottom.svg b/src/assets/icons/arrow-to-bottom.svg
new file mode 100644
index 00000000..d8cb8d18
--- /dev/null
+++ b/src/assets/icons/arrow-to-bottom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow-to-left.svg b/src/assets/icons/arrow-to-left.svg
new file mode 100644
index 00000000..f15c7652
--- /dev/null
+++ b/src/assets/icons/arrow-to-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bars.svg b/src/assets/icons/bars.svg
new file mode 100644
index 00000000..3f28aeda
--- /dev/null
+++ b/src/assets/icons/bars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/book.svg b/src/assets/icons/book.svg
new file mode 100644
index 00000000..6d37cd85
--- /dev/null
+++ b/src/assets/icons/book.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bracket.svg b/src/assets/icons/bracket.svg
new file mode 100644
index 00000000..e5eb8b2e
--- /dev/null
+++ b/src/assets/icons/bracket.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/src/assets/icons/building.svg b/src/assets/icons/building.svg
new file mode 100644
index 00000000..4178db46
--- /dev/null
+++ b/src/assets/icons/building.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/caret-down.svg b/src/assets/icons/caret-down.svg
new file mode 100644
index 00000000..b3ee2ea9
--- /dev/null
+++ b/src/assets/icons/caret-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/caret-up.svg b/src/assets/icons/caret-up.svg
new file mode 100644
index 00000000..b4c7e548
--- /dev/null
+++ b/src/assets/icons/caret-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/check.svg b/src/assets/icons/check.svg
new file mode 100644
index 00000000..781daa31
--- /dev/null
+++ b/src/assets/icons/check.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/chevron-double-left.svg b/src/assets/icons/chevron-double-left.svg
new file mode 100644
index 00000000..70cc0cd6
--- /dev/null
+++ b/src/assets/icons/chevron-double-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-double-right.svg b/src/assets/icons/chevron-double-right.svg
new file mode 100644
index 00000000..23169a41
--- /dev/null
+++ b/src/assets/icons/chevron-double-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-down-solid.svg b/src/assets/icons/chevron-down-solid.svg
new file mode 100644
index 00000000..5962e893
--- /dev/null
+++ b/src/assets/icons/chevron-down-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-down.svg b/src/assets/icons/chevron-down.svg
new file mode 100644
index 00000000..cb9d8fe1
--- /dev/null
+++ b/src/assets/icons/chevron-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-left.svg b/src/assets/icons/chevron-left.svg
new file mode 100644
index 00000000..6ce32bf4
--- /dev/null
+++ b/src/assets/icons/chevron-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-right-solid.svg b/src/assets/icons/chevron-right-solid.svg
new file mode 100644
index 00000000..6d3e119b
--- /dev/null
+++ b/src/assets/icons/chevron-right-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-right.svg b/src/assets/icons/chevron-right.svg
new file mode 100644
index 00000000..1ca5f946
--- /dev/null
+++ b/src/assets/icons/chevron-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chevron-up.svg b/src/assets/icons/chevron-up.svg
new file mode 100644
index 00000000..643de0cb
--- /dev/null
+++ b/src/assets/icons/chevron-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/circle.svg b/src/assets/icons/circle.svg
new file mode 100644
index 00000000..c2db0b25
--- /dev/null
+++ b/src/assets/icons/circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/code.svg b/src/assets/icons/code.svg
new file mode 100644
index 00000000..27072b3e
--- /dev/null
+++ b/src/assets/icons/code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/columns.svg b/src/assets/icons/columns.svg
new file mode 100644
index 00000000..55daa8c4
--- /dev/null
+++ b/src/assets/icons/columns.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/copy.svg b/src/assets/icons/copy.svg
new file mode 100644
index 00000000..a488ff2c
--- /dev/null
+++ b/src/assets/icons/copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/density-1.svg b/src/assets/icons/density-1.svg
new file mode 100644
index 00000000..3ae0109a
--- /dev/null
+++ b/src/assets/icons/density-1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/density-2.svg b/src/assets/icons/density-2.svg
new file mode 100644
index 00000000..1a7a304a
--- /dev/null
+++ b/src/assets/icons/density-2.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/src/assets/icons/density-3.svg b/src/assets/icons/density-3.svg
new file mode 100644
index 00000000..a7270716
--- /dev/null
+++ b/src/assets/icons/density-3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/download.svg b/src/assets/icons/download.svg
new file mode 100644
index 00000000..288c1662
--- /dev/null
+++ b/src/assets/icons/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/envelope.svg b/src/assets/icons/envelope.svg
new file mode 100644
index 00000000..a2557ef2
--- /dev/null
+++ b/src/assets/icons/envelope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/equals.svg b/src/assets/icons/equals.svg
new file mode 100644
index 00000000..3670ebb5
--- /dev/null
+++ b/src/assets/icons/equals.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/expand.svg b/src/assets/icons/expand.svg
new file mode 100644
index 00000000..6b162e19
--- /dev/null
+++ b/src/assets/icons/expand.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/external-link-square.svg b/src/assets/icons/external-link-square.svg
new file mode 100644
index 00000000..dffd8172
--- /dev/null
+++ b/src/assets/icons/external-link-square.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/facebook.svg b/src/assets/icons/facebook.svg
new file mode 100644
index 00000000..c7448e01
--- /dev/null
+++ b/src/assets/icons/facebook.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/filter-solid.svg b/src/assets/icons/filter-solid.svg
new file mode 100644
index 00000000..c3ccb116
--- /dev/null
+++ b/src/assets/icons/filter-solid.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/filter.svg b/src/assets/icons/filter.svg
new file mode 100644
index 00000000..78269dea
--- /dev/null
+++ b/src/assets/icons/filter.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/folder-open.svg b/src/assets/icons/folder-open.svg
new file mode 100644
index 00000000..37372797
--- /dev/null
+++ b/src/assets/icons/folder-open.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/greater-than-equal.svg b/src/assets/icons/greater-than-equal.svg
new file mode 100644
index 00000000..170985d5
--- /dev/null
+++ b/src/assets/icons/greater-than-equal.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/greater-than.svg b/src/assets/icons/greater-than.svg
new file mode 100644
index 00000000..b62e80ac
--- /dev/null
+++ b/src/assets/icons/greater-than.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/hospital.svg b/src/assets/icons/hospital.svg
new file mode 100644
index 00000000..004fb944
--- /dev/null
+++ b/src/assets/icons/hospital.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js
new file mode 100644
index 00000000..54316d14
--- /dev/null
+++ b/src/assets/icons/index.js
@@ -0,0 +1,137 @@
+import { ReactComponent as Archive } from './archive.svg'
+import { ReactComponent as ArrowLeft } from './arrow-left.svg'
+import { ReactComponent as ArrowRight } from './arrow-right.svg'
+import { ReactComponent as ArrowToBottom } from './arrow-to-bottom.svg'
+import { ReactComponent as ArrowToLeft } from './arrow-to-left.svg'
+import { ReactComponent as Bars } from './bars.svg'
+import { ReactComponent as Book } from './book.svg'
+import { ReactComponent as Bracket } from './bracket.svg'
+import { ReactComponent as Building } from './building.svg'
+import { ReactComponent as CaretDown } from './caret-down.svg'
+import { ReactComponent as CaretUp } from './caret-up.svg'
+import { ReactComponent as ChevronDoubleLeft } from './chevron-double-left.svg'
+import { ReactComponent as ChevronDoubleRight } from './chevron-double-right.svg'
+import { ReactComponent as ChevronDown } from './chevron-down.svg'
+import { ReactComponent as ChevronDownSolid } from './chevron-down-solid.svg'
+import { ReactComponent as ChevronLeft } from './chevron-left.svg'
+import { ReactComponent as ChevronRight } from './chevron-right.svg'
+import { ReactComponent as ChevronRightSolid } from './chevron-right-solid.svg'
+import { ReactComponent as ChevronUp } from './chevron-up.svg'
+import { ReactComponent as Circle } from './circle.svg'
+import { ReactComponent as Code } from './code.svg'
+import { ReactComponent as Columns } from './columns.svg'
+import { ReactComponent as Copy } from './copy.svg'
+import { ReactComponent as Density1 } from './density-1.svg'
+import { ReactComponent as Density2 } from './density-2.svg'
+import { ReactComponent as Density3 } from './density-3.svg'
+import { ReactComponent as Download } from './download.svg'
+import { ReactComponent as Envelope } from './envelope.svg'
+import { ReactComponent as Equals } from './equals.svg'
+import { ReactComponent as Expand } from './expand.svg'
+import { ReactComponent as ExternalLinkSquare } from './external-link-square.svg'
+import { ReactComponent as Facebook } from './facebook.svg'
+import { ReactComponent as Filter } from './filter.svg'
+import { ReactComponent as FilterSolid } from './filter-solid.svg'
+import { ReactComponent as FolderOpen } from './folder-open.svg'
+import { ReactComponent as GreaterThan } from './greater-than.svg'
+import { ReactComponent as GreaterThanEqual } from './greater-than-equal.svg'
+import { ReactComponent as InfoCircle } from './info-circle.svg'
+import { ReactComponent as LessThan } from './less-than.svg'
+import { ReactComponent as LessThanEqual } from './less-than-equal.svg'
+import { ReactComponent as Link } from './link.svg'
+import { ReactComponent as Linkedin } from './linkedin.svg'
+import { ReactComponent as LongArrowLeft } from './long-arrow-left.svg'
+import { ReactComponent as LongArrowRight } from './long-arrow-right.svg'
+import { ReactComponent as MinusSquare } from './minus-square.svg'
+import { ReactComponent as NotEqual } from './not-equal.svg'
+import { ReactComponent as Plus } from './plus.svg'
+import { ReactComponent as PlusCircle } from './plus-circle.svg'
+import { ReactComponent as PlusSquare } from './plus-square.svg'
+import { ReactComponent as Search } from './search.svg'
+import { ReactComponent as SlidersH } from './sliders-h.svg'
+import { ReactComponent as SolidThumbtack } from './solid-thumbtack.svg'
+import { ReactComponent as Sort } from './sort.svg'
+import { ReactComponent as SortDown } from './sort-down.svg'
+import { ReactComponent as SortUp } from './sort-up.svg'
+import { ReactComponent as Table } from './table.svg'
+import { ReactComponent as Table2 } from './table2.svg'
+import { ReactComponent as Tag } from './tag.svg'
+import { ReactComponent as Times } from './times.svg'
+import { ReactComponent as TimesCircle } from './times-circle.svg'
+import { ReactComponent as Trash } from './trash.svg'
+import { ReactComponent as Twitter } from './twitter.svg'
+import { ReactComponent as Undo } from './undo.svg'
+import { ReactComponent as Hospital } from './hospital.svg'
+
+/*
+ To add an icon:
+ 1. Add SVG file: '~/assets/icons/'
+ 2. Hook it up by following 'import' and 'export' syntax
+*/
+
+export default [
+ { archive: Archive },
+ { 'arrow-left': ArrowLeft },
+ { 'arrow-right': ArrowRight },
+ { 'arrow-to-bottom': ArrowToBottom },
+ { 'arrow-to-left': ArrowToLeft },
+ { bars: Bars },
+ { book: Book },
+ { bracket: Bracket },
+ { building: Building },
+ { 'caret-down': CaretDown },
+ { 'caret-up': CaretUp },
+ { 'chevron-double-left': ChevronDoubleLeft },
+ { 'chevron-double-right': ChevronDoubleRight },
+ { 'chevron-down-solid': ChevronDownSolid },
+ { 'chevron-down': ChevronDown },
+ { 'chevron-left': ChevronLeft },
+ { 'chevron-right-solid': ChevronRightSolid },
+ { 'chevron-right': ChevronRight },
+ { 'chevron-up': ChevronUp },
+ { circle: Circle },
+ { code: Code },
+ { columns: Columns },
+ { copy: Copy },
+ { 'density-1': Density1 },
+ { 'density-2': Density2 },
+ { 'density-3': Density3 },
+ { download: Download },
+ { envelope: Envelope },
+ { equals: Equals },
+ { expand: Expand },
+ { 'external-link-square': ExternalLinkSquare },
+ { facebook: Facebook },
+ { filter: Filter },
+ { 'filter-solid': FilterSolid },
+ { 'folder-open': FolderOpen },
+ { hospital: Hospital },
+ { 'info-circle': InfoCircle },
+ { linkedin: Linkedin },
+ { link: Link },
+ { 'greater-than': GreaterThan },
+ { 'greater-than-equal': GreaterThanEqual },
+ { 'less-than': LessThan },
+ { 'less-than-equal': LessThanEqual },
+ { 'long-arrow-left': LongArrowLeft },
+ { 'long-arrow-right': LongArrowRight },
+ { 'minus-square': MinusSquare },
+ { 'not-equal': NotEqual },
+ { plus: Plus },
+ { 'plus-circle': PlusCircle },
+ { 'plus-square': PlusSquare },
+ { search: Search },
+ { 'sliders-h': SlidersH },
+ { 'solid-thumbtack': SolidThumbtack },
+ { 'sort-down': SortDown },
+ { 'sort-up': SortUp },
+ { sort: Sort },
+ { table: Table },
+ { table2: Table2 },
+ { tag: Tag },
+ { times: Times },
+ { 'times-circle': TimesCircle },
+ { trash: Trash },
+ { twitter: Twitter },
+ { undo: Undo }
+]
diff --git a/src/assets/icons/info-circle.svg b/src/assets/icons/info-circle.svg
new file mode 100644
index 00000000..3f0f6426
--- /dev/null
+++ b/src/assets/icons/info-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/less-than-equal.svg b/src/assets/icons/less-than-equal.svg
new file mode 100644
index 00000000..3190c7ef
--- /dev/null
+++ b/src/assets/icons/less-than-equal.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/less-than.svg b/src/assets/icons/less-than.svg
new file mode 100644
index 00000000..da3dcbd3
--- /dev/null
+++ b/src/assets/icons/less-than.svg
@@ -0,0 +1 @@
+
+ + |
-
+
{header.isPlaceholder
? null
- : flexRender(
+ : (flexRender(
header.column.columnDef.header,
header.getContext()
- ) as React.ReactNode}
+ ) as React.ReactNode)}
{sortElement && (
-
+
)}
|
- )
-}
+ );
+};
-export default HeaderResizeElement
\ No newline at end of file
+export default HeaderResizeElement;
diff --git a/src/components/HeaderNav/index.tsx b/src/components/HeaderNav/index.tsx
index 4c4777b2..b1d227c8 100644
--- a/src/components/HeaderNav/index.tsx
+++ b/src/components/HeaderNav/index.tsx
@@ -50,7 +50,7 @@ const HeaderNav = (props: HeaderNavProps) => {
)
}
return(
-
---|