@linn-it/linn-form-components-library 12.6.0 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/cjs/index.js +1 -1
- package/dist/bundle.min.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
-
|
|
2
|
+
## [12.7.0] - 2021-11-26
|
|
3
|
+
### Changes
|
|
4
|
+
- Flip processStore working flag to false if the process request errors unexpectedly.
|
|
5
|
+
|
|
3
6
|
## [12.5.0] - 2021-11-10
|
|
4
7
|
### Changes
|
|
5
8
|
- Upped react version in dependencies (peer dependencies already was) to react 17
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=_interopDefault(e),r=_interopDefault(require("@material-ui/styles/makeStyles")),a=_interopDefault(require("@material-ui/core/Button")),o=_interopDefault(require("prop-types")),l=require("./BackButton.js"),i=_interopDefault(require("@material-ui/core/Tooltip")),n=_interopDefault(require("@material-ui/core/SvgIcon")),s=_interopDefault(require("@material-ui/core/Typography"));require("@material-ui/core/Link");var c=require("@material-ui/styles"),u=require("./Breadcrumbs.js"),d=require("./SaveBackCancelButtons.js"),m=_interopDefault(require("@material-ui/core/Table")),p=_interopDefault(require("@material-ui/core/TableBody")),w=_interopDefault(require("@material-ui/core/TableCell")),g=_interopDefault(require("@material-ui/core/TableHead")),E=_interopDefault(require("@material-ui/core/TableRow")),h=_interopDefault(require("@material-ui/core/Paper"));require("numeral"),require("@material-ui/core/Modal");var R=require("react-router-dom"),y=require("./ReportTable-091d7264.js"),b=require("./Title.js");require("@material-ui/core/Card"),require("@material-ui/icons/Error"),require("@material-ui/core/styles/withStyles");var f=require("@material-ui/core/styles");require("@material-ui/core/colors/red");var q=require("./errorTheme.js");require("@material-ui/core/colors/pink");var k=require("./linnTheme.js"),T=require("./ErrorCard.js"),v=_interopDefault(require("classnames")),S=_interopDefault(require("@material-ui/core/Box"));require("@material-ui/core/CircularProgress");var C=require("./Loading.js");require("@material-ui/core/TextField");var x=_interopDefault(require("@material-ui/core/InputLabel")),D=require("./Dropdown.js");require("@material-ui/core/FormControlLabel"),require("@material-ui/core/Checkbox"),require("@material-ui/styles/withStyles");var O=require("./CheckboxWithLabel.js"),B=require("./InputField-fa65c239.js");require("@material-ui/core/InputAdornment");var A=_interopDefault(require("moment")),_=_interopDefault(require("@material-ui/core/List")),I=_interopDefault(require("@material-ui/core/ListItem")),P=_interopDefault(require("@material-ui/core/Divider")),F=_interopDefault(require("@material-ui/core/Grid")),j=_interopDefault(require("@material-ui/core/Dialog")),N=_interopDefault(require("@material-ui/core/IconButton")),L=_interopDefault(require("@material-ui/icons/Close")),W=require("./useSearch.js"),z=require("@material-ui/core");require("./SearchIcon-d975c890.js");var V=require("./Typeahead.js");require("notistack");var M=require("./Page.js"),H=require("./EntityList.js"),G=require("./CreateButton.js");require("@material-ui/core/Switch");var U=require("./OnOffSwitch.js");require("@material-ui/core/Snackbar");var Y=require("./SnackbarMessage.js"),K=require("@material-ui/pickers"),Q=require("./DatePicker.js"),J=require("./DateTimePicker.js"),X=require("./SearcInputField.js"),Z=require("./useTablePagination.js");require("@material-ui/core/TablePagination"),require("@material-ui/core/TableSortLabel");var $=_interopDefault(require("@material-ui/icons/Edit"));require("@material-ui/core/LinearProgress");var ee=require("./utilities.js");require("@material-ui/icons/FirstPage"),require("@material-ui/icons/KeyboardArrowLeft"),require("@material-ui/icons/KeyboardArrowRight"),require("@material-ui/icons/LastPage"),require("./TablePaginationActions.js");var te=require("./PaginatedTable.js"),re=require("./TypeahedTable.js");require("@material-ui/icons/Search");var ae=require("./TypeaheadDialog.js"),oe=require("./makeActionTypes.js"),le=require("./makeReportActionTypes.js"),ie=require("redux-api-middleware"),ne=require("./rsaaTypes-eda605ad.js"),se=require("./fetchApiActions.js");require("query-string");var ce=require("./ReportActions.js"),ue=require("./UpdateApiActions.js");require("./index-33862fa7.js");var de=require("./fetchNews.js"),me=require("./markNotificationSeen.js"),pe=require("./fetchMenu.js"),we=require("./ItemType.js"),ge=require("./CollectionSelectors.js"),Ee=require("./PaginationSelectors.js"),he=require("./ItemSelectors.js"),Re=require("./ReportSelectors.js"),ye=require("./collectionStoreFactory.js"),be=require("./collectionWithLinksStoreFactory.js"),fe=require("./itemStoreFactory.js"),qe=require("./paginationStoreFactory.js"),ke=require("./reportOptionsFactory.js"),Te=require("./reportResultsFactory.js"),ve=require("./fetchError.js"),Se=require("./menu.js"),Ce=require("./news.js"),xe=require("./menuSelectors.js"),De=require("./newsSelectors.js"),Oe=require("./getUsername.js"),Be=require("./initialiseOnMount.js");require("react-redux"),require("react-router"),require("@material-ui/core/Tabs"),require("@material-ui/core/Tab"),require("@material-ui/core/AppBar");var Ae=_interopDefault(require("@material-ui/core/ClickAwayListener"));require("@material-ui/core/Menu"),require("@material-ui/core/MenuItem"),require("@material-ui/core/Toolbar"),require("@material-ui/core/Badge"),require("@material-ui/icons/AccountCircle"),require("@material-ui/icons/Notifications");var _e=require("./Navigation.js"),Ie=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),Pe=_interopDefault(require("@material-ui/core/ListItemText")),Fe=_interopDefault(require("@material-ui/icons/Delete")),je=_interopDefault(require("@material-ui/icons/Done")),Ne=_interopDefault(require("@material-ui/styles/ThemeProvider")),Le=_interopDefault(require("@material-ui/icons/Add")),We=_interopDefault(require("clsx")),ze=_interopDefault(require("@material-ui/icons/Save")),Ve=_interopDefault(require("@material-ui/icons/Clear")),Me=require("@material-ui/core/colors");const ExportButton=e=>{let{href:r}=e;return t.createElement("div",{style:{float:"right"}},t.createElement(i,{title:"Download report as CSV file",placement:"top-end"},t.createElement(a,{href:r,color:"primary",variant:"outlined"},"Export",t.createElement(n,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))))};ExportButton.propTypes={href:o.string.isRequired};const setPageBreaks=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return v(r,{"new-page-after":t.includes(e)})},Placeholder=e=>{let{rows:r,columns:a}=e;return t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(r).keys()].map(e=>t.createElement("tr",{key:e},[...Array(a).keys()].map(e=>t.createElement("td",{key:e}))))))},Results=e=>{let{reportData:r,showTotals:a,placeholderRows:o,placeholderColumns:l,pageBreaksAfter:i,fixColumnWidths:n,containsSubtotals:s,showRowTitles:c,showTitle:u,allowPageBreakInside:d}=e;return t.createElement("div",null,r.error?y.displayError(r.message):t.createElement(t.Fragment,null,r.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((e,m)=>t.createElement(S,{paddingBottom:3,key:m,className:setPageBreaks(m,i)},y.formatTitle(e.title,u,!r,r&&r.error),t.createElement(y.ReportTable,{reportData:e,containsSubtotals:s,showTitle:!1,showTotals:a,fixColumnWidths:n,placeholderRows:o,placeholderColumns:l,showRowTitles:c,allowPageBreakInside:d})))))},MultiReportTable=e=>{let{reportData:r,title:a,showTitle:o,showTotals:l,placeholderRows:i,placeholderColumns:n,pageBreaksAfter:s,fixColumnWidths:c,containsSubtotals:u,showRowTitles:d,allowPageBreakInside:m}=e;return t.createElement("div",null,y.formatHeading(a,o,!r,r&&r.error),r?t.createElement(Results,{reportData:r,showTotals:l,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:u,pageBreaksAfter:s,fixColumnWidths:c,showTitle:o,allowPageBreakInside:m}):t.createElement("div",null,t.createElement(Placeholder,{rows:i,columns:n}),t.createElement(Placeholder,{rows:i,columns:n})))};MultiReportTable.propTypes={reportData:o.arrayOf(o.shape({})),title:o.string,showTitle:o.bool,showTotals:o.bool,showRowTitles:o.bool,placeholderRows:o.number,placeholderColumns:o.number,pageBreaksAfter:o.arrayOf(o.number),fixColumnWidths:o.bool,containsSubtotals:o.bool,allowPageBreakInside:o.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results.propTypes={reportData:o.arrayOf(o.shape({})),showTotals:o.bool,showTitle:o.bool,showRowTitles:o.bool,placeholderRows:o.number,placeholderColumns:o.number,pageBreaksAfter:o.arrayOf(o.number),fixColumnWidths:o.bool,containsSubtotals:o.bool,allowPageBreakInside:o.bool.isRequired},Results.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:o.number,columns:o.number},Placeholder.defaultProps={rows:4,columns:4};const He=r(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton(e){let{to:r,external:o,tooltip:l,text:n,disabled:s}=e;const c=He(),button=()=>l?t.createElement(i,{title:l},t.createElement("div",null,t.createElement(a,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},n))):t.createElement(a,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},n);return s?button():t.createElement("div",null,o?t.createElement("a",{className:c.a,href:r},button()):t.createElement(R.Link,{className:c.a,to:r},button()))}LinkButton.propTypes={text:o.string.isRequired,tooltip:o.string,to:o.string.isRequired,external:o.bool,disabled:o.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const getItemError=(e,t)=>{const{errors:r}=e;return r&&r.itemErrors&&r.itemErrors.find(e=>e.item&&e.item===t)||null},Ge=f.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?{...t,maxHeight:e.maxHeight}:t}}));function SelectedItemsList(e){let{items:r,removeItem:a,title:o,maxHeight:l}=e;const i=Ge({maxHeight:l});return t.createElement(t.Fragment,null,t.createElement(s,{variant:"body1"},o),t.createElement(_,{dense:!0,className:i.list},r.map(e=>t.createElement(t.Fragment,null,t.createElement(I,{key:e.id?e.id:e},t.createElement(Pe,{primary:e.displayText?e.displayText:e}),a?t.createElement(Ie,null,t.createElement(N,{edge:"end","aria-label":"delete",onClick:()=>a(e.Id?e.Id:e)},t.createElement(Fe,null))):""),t.createElement(P,null)))))}SelectedItemsList.propTypes={items:o.arrayOf(o.oneOfType([o.string,o.shape({})])),removeItem:o.func,title:o.string,maxHeight:o.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const Ue=f.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),Ye=f.createTheme({palette:{primary:{main:"#FF9494"}}}),Ke=r(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog(r){let{title:o,loading:l,fetchItems:n,searchItems:c,clearSearch:u,onAccept:d}=r;const[m,p]=e.useState(),[w,g]=e.useState(!1),E=Ke();W(n,m,u);const handleClose=()=>{g(!1)};return t.createElement(t.Fragment,null,t.createElement(i,{title:o},t.createElement(a,{color:"primary","aria-label":"Search",onClick:()=>{g(!0)},variant:"outlined",className:E.button},t.createElement($,null))),t.createElement(j,{open:w,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(N,{className:E.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(L,null)),t.createElement("div",{className:E.dialog},t.createElement(s,{variant:"h5",gutterBottom:!0},o),t.createElement(Ne,{theme:!m||l?k.linnTheme:1===c.length?Ue:Ye},t.createElement(B.InputField,{onChange:function(){p(arguments.length<=1?void 0:arguments[1])},label:"",value:m})),1===c.length&&t.createElement(Ne,{theme:Ue},t.createElement(N,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void g(!1);var e}},t.createElement(je,{color:"primary"}))),m&&t.createElement(N,{"aria-label":"Close",onClick:()=>{u(),p("")}},t.createElement(L,null)),l&&t.createElement(C,null)))))}function TableWithInlineEditing(r){let{content:o,columnsInfo:l,updateContent:n,allowedToEdit:s,allowedToCreate:c,allowedToDelete:u}=r;const[d,h]=e.useState(""),handleRowChange=(e,t,r)=>{var a,i;const s={...o[r],[e]:t},c=null===(a=(i=l.find(t=>t.key===e)).updateValues)||void 0===a?void 0:a.call(i,t);if(c)for(let e=0;e<c.length;e+=1)s[c[e].propertyName]=c[e].value;n(o.slice(0,r).concat(s).concat(o.slice(r+1,o.length+1)))},handleRemoveRow=e=>{n(o.slice(0,e).concat(o.slice(e+1,o.length+1)))},switchToEditingDifferentCell=e=>{h(e)},clearEditingCell=()=>{h("")};return t.createElement(m,null,t.createElement(g,{key:"headers",onClick:clearEditingCell},t.createElement(E,null,l.map(e=>t.createElement(w,{key:e.key},e.title)),u&&t.createElement(w,{key:"Deleteplaceholdercell"}))),t.createElement(p,null,o.map((e,r)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:r,updateField:handleRowChange,columnsInfo:l,currentlyEditing:d,changeCell:switchToEditingDifferentCell,allowedToEdit:s,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:u})),c&&t.createElement(E,null,t.createElement(w,null,t.createElement(i,{title:"Add new row","aria-label":"add"},t.createElement(a,{onClick:()=>{let e={id:(new Date).getTime()};l.forEach(t=>{e={...e,[t.key]:null}}),n(o.concat(e))}},t.createElement(Le,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:o.string,loading:o.bool,fetchItems:o.func.isRequired,searchItems:o.arrayOf(o.shape({})).isRequired,onAccept:o.func.isRequired,clearSearch:o.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:o.arrayOf(o.shape({id:o.oneOfType([o.string,o.number])})),updateContent:o.func.isRequired,columnsInfo:o.arrayOf(o.shape({title:o.string,type:o.string,key:o.oneOfType([o.string,o.number])})).isRequired,allowedToEdit:o.bool.isRequired,allowedToCreate:o.bool,allowedToDelete:o.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=r=>{let{rowContent:o,rowIndex:l,updateField:n,columnsInfo:s,currentlyEditing:u,changeCell:d,allowedToEdit:m,clearEditingCell:p,removeRow:g,allowedToDelete:h}=r;const R=c.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{n(e,t,l)};return t.createElement(E,{key:o.id},o!=={}&&s&&(m?t.createElement(t.Fragment,null,s.map((r,a)=>t.createElement(e.Fragment,{key:r.title},t.createElement(w,{onClick:()=>d("".concat(l).concat(r.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?p():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(l).concat(s[t-1].key):"".concat(l-1).concat(s[s.length-1].key)):"Tab"===e.key&&(t<s.length-1?d("".concat(l).concat(s[t+1].key)):d("".concat(l+1).concat(s[0].key)))})(e,a),className:R.pointer},u!=="".concat(l).concat(r.key)?t.createElement("span",{id:"outer".concat(l,"-").concat(a),name:r.key},o[r.key]):t.createElement("div",{id:"inner".concat(l,"-").concat(a)},"dropdown"===r.type?t.createElement(D,{onChange:handleCellChange,items:r.options,value:o[r.key],disabled:r.notEditable,required:r.required,propertyName:r.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(B.InputField,{type:r.type,value:o[r.key],disabled:r.notEditable,required:r.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:r.key}))))),h&&t.createElement(w,{key:"DeleteIcon"},t.createElement(i,{title:"Delete row","aria-label":"add"},t.createElement(a,{onClick:()=>{g(l)}},t.createElement(Fe,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,s.map(r=>t.createElement(e.Fragment,{key:r.title},t.createElement(w,null,t.createElement("span",{name:r.key,className:R.notClickable},o[r.key])))))))};function cloneDate(e){return A.isMoment(e)?e.clone():A(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:o.shape({id:o.oneOfType([o.string,o.number])}),rowIndex:o.number.isRequired,updateField:o.func.isRequired,currentlyEditing:o.string.isRequired,changeCell:o.func.isRequired,allowedToEdit:o.bool.isRequired,clearEditingCell:o.func.isRequired,columnsInfo:o.arrayOf(o.shape({title:o.string,type:o.string,key:o.oneOfType([o.string,o.number]),notEditable:o.bool,updateValues:o.func})).isRequired,removeRow:o.func.isRequired,allowedToDelete:o.bool.isRequired},Row.defaultProps={rowContent:{}};const Qe=c.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker(e){let{selectedDate:r,setWeekStartDate:a,propertyName:o,label:l,disabled:i,required:n}=e;const s=Qe();return t.createElement(t.Fragment,null,t.createElement(x,{classes:{root:s.label},required:n},l),t.createElement(K.KeyboardDatePicker,{autoOk:!0,disabled:i,margin:"dense",inputVariant:"outlined",value:r?A(r):null,onChange:e=>{a(o,getWeekStartDate(e))},renderDay:(e,r,a)=>{const o=getWeekStartDate(r),l=getWeekEndDate(r),i=e.isBetween(o,l,"days","[]"),n=e.isSame(o,"day"),c=e.isSame(l,"day"),u=We({[s.highlight]:i,[s.firstHighlight]:n,[s.endHighlight]:c}),d=We(s.day,{[s.nonCurrentMonthDay]:!a,[s.highlightNonCurrentMonthDay]:!a&&i});return t.createElement("div",{className:u},t.createElement(z.IconButton,{className:d},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:o.oneOfType([o.shape({}),o.string]),setWeekStartDate:o.func.isRequired,propertyName:o.string,label:o.string,disabled:o.bool,required:o.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const Je={minWidth:"120px"};function EditableTableCell(r){var a;let{column:o,item:l,editable:n,editing:s,isNewRow:c,handleValueChange:u,...d}=r;const Content=()=>s&&o.editable&&n||c&&s&&o.required?function inputComponentFactory(e,r,a){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,l=arguments.length>4?arguments[4]:void 0;switch(r.type){case"text":return t.createElement(B.InputField,{value:e[r.id],onChange:a,fullWidth:!0,rows:o,propertyName:r.id,required:r.required});case"number":return t.createElement(B.InputField,{value:e[r.id],type:"number",onChange:a,propertyName:r.id,required:r.required});case"date":return t.createElement(Q,{value:e[r.id]||null,onChange:e=>a(r.id,e),required:r.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[r.id]||null,setWeekStartDate:a,propertyName:r.id,required:r.required});case"search":return t.createElement(V,{clearSearch:()=>r.clearSearch,fetchItems:r.search,items:r.searchResults,links:!1,loading:r.searchLoading,modal:!0,onSelect:t=>r.selectSearchResult(r.id,t,e),propertyName:r.id,title:r.searchTitle,value:e[r.id],required:r.required,minimumSearchTermLength:r.minimumSearchTermLength});case"dropdown":return t.createElement(D,{fullWidth:!0,value:e[r.id],onChange:a,items:r.options,propertyName:r.id,required:r.required});case"component":return t.createElement(r.component,B._extends({value:e[r.id],onChange:e=>a(r.id,e),required:r.required},l));default:return""}}(l,o,u,o.textFieldRows,d):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?A(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,o),m=null!==(a=o.style)&&void 0!==a&&a.body?{...Je,...o.style.body}:Je;return o.tooltip?t.createElement(e.Fragment,{key:"".concat(null==o?void 0:o.id).concat(l.id)},t.createElement(i,{title:o.tooltip(l)||""},t.createElement(w,{id:o.type,key:"".concat(null==o?void 0:o.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==o?void 0:o.id).concat(l.id)},t.createElement(w,{id:o.type,style:m},Content()))}EditableTableCell.propTypes={column:o.shape({tooltip:o.func,id:o.oneOfType([o.number,o.string]),editable:o.bool,type:o.string,required:o.bool,textFieldRows:o.number,style:o.shape({body:o.shape({})})}).isRequired,item:o.shape({id:o.oneOfType([o.string,o.number])}).isRequired,editable:o.bool,editing:o.bool,isNewRow:o.bool,handleValueChange:o.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const Xe=o.shape({id:o.oneOfType([o.number,o.string]).isRequired,type:o.string.isRequired,component:o.func,editable:o.bool,options:o.arrayOf(o.oneOfType([o.shape({}),o.string,o.number])),required:o.bool,searchLoading:o.bool,searchResults:o.arrayOf(o.shape({})),searchTitle:o.string,tooltip:o.oneOfType([o.string,o.func]),clearSearch:o.func,closeRowOnClickAway:o.func,search:o.func,selectSearchResult:o.func,minimumSearchTermLength:o.number,textFieldRows:o.number,componentViewDisplay:o.oneOf(["value","nothing"])}),Ze=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?Me.green[50]:e.toBeDeleted?Me.red[50]:"transparent"}}));function GroupEditableTableRow(r){let{row:o,columns:l,editable:n,updateRow:s,validateRow:c,removeRow:u,isRowValid:d,resetRow:m,deleteRowPreEdit:p,handleEditClick:g,setRowToBeSaved:h,setRowToBeDeleted:R,removeRowOnDelete:y,closeRowOnClickAway:b,editOnRowClick:f,...q}=r;const[k,T]=e.useState(),v=e.useRef(),S=Ze({toBeSaved:o.toBeSaved,toBeDeleted:o.toBeDeleted});e.useEffect(()=>{v.current=d},[d]),e.useEffect(()=>{if(o.editing){let e=!0;c&&(e=c(o)),l.forEach(t=>{!0!==t.required||o[t.id]||(e=!1)}),v.current&&o.id&&v.current(e,o.id),T(e)}},[c,l,o]);const handleValueChange=(e,t)=>{s(o,null,e,t)},handleEditButtonClick=()=>{g(o.id,!0)},handleDeleteClick=()=>{y||o.isNewRow?u(o.id):R(o.id,!0)},deleteButtonEnabled=()=>!o.toBeDeleted&&!o.toBeSaved;return t.createElement(Ae,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&b&&b&&o.editing&&g(o.id,!1)})(e)},t.createElement(E,{onClick:!o.editing&&f&&!p&&handleEditButtonClick,classes:{root:S.row}},l.map(e=>t.createElement(EditableTableCell,B._extends({key:"".concat(o.id).concat(e.id),column:e,item:o,editable:n,editing:o.editing,handleValueChange:handleValueChange},q))),n&&(o.editing?t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(a,{onClick:()=>{h(o.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:S.button},disabled:!(k&&!o.toBeDeleted&&!o.toBeSaved),"data-testid":"saveButton"},t.createElement(ze,{fontSize:"small"}))),t.createElement(w,null,t.createElement(i,{title:"Revert changes to row"},t.createElement(a,{onClick:()=>{o.isNewRow?u(o.id):m(o)},color:"secondary",variant:"outlined",classes:{root:S.button},size:"small","data-testid":"cancelButton"},t.createElement(Ve,{fontSize:"small"})))),u&&t.createElement(w,null,t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(Fe,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(i,{title:"Edit Row"},t.createElement(a,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:S.button},"data-testid":"editButton"},t.createElement($,{fontSize:"small"})))),u&&p&&t.createElement(w,null,t.createElement(i,{title:"Remove Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(Fe,{fontSize:"small"})))),t.createElement(w,null)))))}function GroupEditTable(r){let{columns:o,rows:l,editable:i,updateRow:n,validateRow:s,deleteRow:c,allowNewRowCreation:u,addRow:d,tableValid:R,removeRow:y,resetRow:b,closeRowOnClickAway:f,deleteRowPreEdit:q,handleEditClick:k,setRowToBeSaved:T,setRowToBeDeleted:v,removeRowOnDelete:S,editOnRowClick:C,...x}=r;const[D,O]=e.useState([]);e.useEffect(()=>{R&&R(!D.some(e=>!e.valid))},[D,R]);const handleRemoveRow=e=>{y(e)},handleIsRowValid=(e,t)=>{D.some(e=>e.id===t)?O(D.map(r=>r.id===t?{...r,valid:e}:r)):O([...D,{id:t,valid:e}]),R&&R(!D.some(e=>!e.valid))};return t.createElement(h,{style:{overflow:"auto"}},t.createElement(m,{style:{tableLayout:"auto"},size:"small"},t.createElement(g,null,t.createElement(E,null,o.map(e=>{var r;return t.createElement(w,{key:e.id,style:null===(r=e.style)||void 0===r?void 0:r.head},e.title)}),t.createElement(w,null),t.createElement(w,null),c&&t.createElement(w,null))),t.createElement(p,null,l.map(e=>t.createElement(GroupEditableTableRow,B._extends({key:e.id,row:e,columns:o,editable:i,updateRow:n,validateRow:s,removeRow:y?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:b,deleteRowPreEdit:q,handleEditClick:k,setRowToBeDeleted:v,setRowToBeSaved:T,removeRowOnDelete:S,closeRowOnClickAway:f,editOnRowClick:C},x))),i&&u&&t.createElement(E,null,t.createElement(w,null,t.createElement(a,{size:"small",onClick:()=>{d()},"data-testid":"addButton"},t.createElement(Le,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:o.shape({editing:o.bool,id:o.oneOfType([o.string,o.number]),toBeDeleted:o.bool,toBeSaved:o.bool,isNewRow:o.bool}).isRequired,columns:o.arrayOf(Xe).isRequired,updateRow:o.func.isRequired,editable:o.bool,removeRow:o.func,validateRow:o.func,isRowValid:o.func,resetRow:o.func,deleteRowPreEdit:o.bool,handleEditClick:o.func,setRowToBeDeleted:o.func,setRowToBeSaved:o.func.isRequired,removeRowOnDelete:o.bool,closeRowOnClickAway:o.bool,editOnRowClick:o.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:o.arrayOf(Xe).isRequired,rows:o.arrayOf(o.shape({})).isRequired,handleEditClick:o.func.isRequired,editable:o.bool,updateRow:o.func,validateRow:o.func,deleteRow:o.func,allowNewRowCreation:o.bool,addRow:o.func,tableValid:o.func,removeRow:o.func,resetRow:o.func,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,setRowToBeDeleted:o.func.isRequired,setRowToBeSaved:o.func.isRequired,removeRowOnDelete:o.bool,editOnRowClick:o.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const $e=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(r){let{row:o,columns:l,saveRow:n,editable:s,isNewRow:c,removeRow:u,updateRow:d,validateRow:m,deleteRow:p,closeRowOnClickAway:g,deleteRowPreEdit:h,editOnRowClick:R,...y}=r;const[b,f]=e.useState(!1),[q,k]=e.useState({}),[T,v]=e.useState({});e.useEffect(()=>{v(o),k(o),c&&f(!0)},[o,c]);const S=$e(),handleDeleteClick=()=>{p(T.id)},handleValueChange=(e,t)=>{d?d(T,v,e,t):v({...T,[e]:t})},handleEditButtonClick=()=>{f(!0)};return t.createElement(Ae,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&g&&g&&f(!1)})(e)},t.createElement(E,{onClick:!b&&R&&!h&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,B._extends({key:"".concat(o.id).concat(e.id),column:e,item:T,editable:s,editing:b,isNewRow:c,handleValueChange:handleValueChange},y))),s&&(b?t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(a,{onClick:()=>{n(T)},color:"primary",variant:"contained",size:"small",classes:{root:S.button},disabled:!(()=>{let e=!0;return m&&(e=m(T)),l.forEach(t=>{!0!==t.required||T[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(je,{style:{color:Me.grey[50]},fontSize:"small"}))),t.createElement(w,null,t.createElement(i,{title:"Revert changes to row"},t.createElement(a,{onClick:()=>{c?u(T.id):(f(!1),v(q))},color:"secondary",variant:"outlined",classes:{root:S.button},size:"small","data-testid":"cancelButton"},t.createElement(Ve,{fontSize:"small"})))),p&&t.createElement(w,null,t.createElement(i,{title:"Delete Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton"},t.createElement(Fe,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(i,{title:"Edit Row"},t.createElement(a,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:S.button},"data-testid":"editButton"},t.createElement($,{fontSize:"small"})))),!c&&p&&h&&t.createElement(w,null,t.createElement(i,{title:"Delete Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton"},t.createElement(Fe,{fontSize:"small"})))),t.createElement(w,null)))))}function SingleEditTable(r){let{columns:o,rows:l,saveRow:i,createRow:n,editable:s,newRow:c,updateRow:u,validateRow:d,deleteRow:R,allowNewRowCreation:y,closeRowOnClickAway:b,deleteRowPreEdit:f,editOnRowClick:q,newRowPosition:k,...T}=r;const[v,S]=e.useState(!1),handleRemoveRow=()=>{S(!1)},renderNewRow=()=>v?t.createElement(SingleEditableTableRow,B._extends({row:c,columns:o,saveRow:n,editable:s,isNewRow:!0,updateRow:u,validateRow:d,removeRow:handleRemoveRow,editOnRowClick:q},T)):t.createElement(E,null,t.createElement(w,null,t.createElement(a,{size:"small",onClick:()=>S(!0),"data-testid":"addButton"},t.createElement(Le,{size:"small"}))));return t.createElement(h,{style:{overflow:"auto"}},t.createElement(m,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(g,null,t.createElement(E,null,o.map(e=>{var r;return t.createElement(w,{key:e.id,style:null===(r=e.style)||void 0===r?void 0:r.head},e.title)}),t.createElement(w,null),t.createElement(w,null),R&&t.createElement(w,null))),t.createElement(p,null,"top"===k&&s&&y&&t.createElement(t.Fragment,null," ",renderNewRow()," "),l.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:o,saveRow:i,editable:s,updateRow:u,validateRow:d,deleteRow:R,closeRowOnClickAway:b,deleteRowPreEdit:f,editOnRowClick:q})),"bottom"===k&&s&&y&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:o.shape({editing:o.bool,id:o.oneOfType([o.string,o.number])}).isRequired,columns:o.arrayOf(Xe).isRequired,saveRow:o.func,editable:o.bool,isNewRow:o.bool,removeRow:o.func,updateRow:o.func,validateRow:o.func,deleteRow:o.func,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,editOnRowClick:o.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:o.arrayOf(Xe).isRequired,rows:o.arrayOf(o.shape({})).isRequired,saveRow:o.func,createRow:o.func,editable:o.bool,newRow:o.shape({}),updateRow:o.func,validateRow:o.func,deleteRow:o.func,closeEditingOnSave:o.bool,allowNewRowCreation:o.bool,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,editOnRowClick:o.bool,newRowPosition:o.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const et={menu:Se,news:Ce};exports.BackButton=l,exports.Breadcrumbs=u,exports.SaveBackCancelButtons=d,exports.ReportTable=y.ReportTable,exports.Title=b,exports.errorTheme=q.errorTheme,exports.linnTheme=k.linnTheme,exports.ErrorCard=T,exports.Loading=C,exports.Dropdown=D,exports.CheckboxWithLabel=O,exports.InputField=B.InputField,exports.useSearch=W,exports.Typeahead=V,exports.Page=M,exports.EntityList=H,exports.CreateButton=G,exports.OnOffSwitch=U,exports.SnackbarMessage=Y,exports.DatePicker=Q,exports.DateTimePicker=J,exports.SearchInputField=X,exports.useTablePagination=Z,exports.utilities=ee,exports.PaginatedTable=te,exports.TypeaheadTable=re,exports.TypeaheadDialog=ae,exports.makeActionTypes=oe,exports.makeReportActionTypes=le,exports.FetchApiActions=se,exports.ReportActions=ce,exports.UpdateApiActions=ue,exports.fetchNews=de,exports.markNotificationSeen=me,exports.fetchMenu=pe,exports.ItemType=we,exports.CollectionSelectors=ge,exports.PaginationSelectors=Ee,exports.ItemSelectors=he,exports.ReportSelectors=Re,exports.collectionStoreFactory=ye,exports.collectionWithLinksStoreFactory=be,exports.itemStoreFactory=fe,exports.paginationStoreFactory=qe,exports.reportOptionsFactory=ke,exports.reportResultsFactory=Te,exports.fetchErrorReducer=ve,exports.menu=Se,exports.news=Ce,exports.menuSelectors=xe,exports.newsSelectors=De,exports.getUsername=Oe,exports.initialiseOnMount=Be,exports.Navigation=_e,exports.ExportButton=ExportButton,exports.GroupEditTable=GroupEditTable,exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.MultiReportTable=MultiReportTable,exports.NotFound=function NotFound(){return t.createElement(F,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(b,{text:"Page not found"}))},exports.ProcessActions=function ProcessActions(e,t,r,a,o){this.requestProcessStart=l=>({[ie.RSAA]:{endpoint:"".concat(o).concat(r),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):"",types:[ne.requested(a,t),ne.receivedProcess(a,t,e),ne.error(a,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:a["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:a["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:a["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:a["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const r=t[e];return r?r.working:null},this.getMessageVisible=t=>{const r=t[e];return r?r.messageVisible:null},this.getMessageText=t=>{const r=t[e];return r?r.messageText:null},this.getData=t=>{const r=t[e];return r?r.data:null}},exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.StateApiActions=function StateApiActions(e,t,r,a,o,l){this.fetchState=()=>({[ie.RSAA]:{endpoint:"".concat(o).concat(r,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[ne.requestedState(a,t),ne.receivedState(a,t,e),ne.error(a,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.ValidatedInputDialog=ValidatedInputDialog,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var r,a,o,l,i;return(null===(r=getItemError(e,t))||void 0===r||null===(a=r.details)||void 0===a?void 0:a.message)||(null===(o=getItemError(e,t))||void 0===o||null===(l=o.details)||void 0===l||null===(i=l.errors)||void 0===i?void 0:i[0])||null},exports.getItemErrors=e=>{const{errors:t}=e;if(!t||!t.itemErrors)return null;const r=t.itemErrors;return r.length>0?r:null},exports.getPreviousPaths=e=>{const{historyStore:t}=e;return t},exports.getRequestErrors=e=>{const{errors:t}=e;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.processStoreFactory=function processStoreFactory(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{working:!1,messageText:"",messageVisible:!1},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Completed successfully";const getMessage=e=>e.data&&e.data.message?e.data.message:a;return function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,l=arguments.length>1?arguments[1]:void 0;switch(l.type){case t["REQUEST_".concat(e)]:return{...o,working:!0,data:null};case t["RECEIVE_".concat(e)]:return{...o,working:!1,messageText:getMessage(l.payload),messageVisible:!0,data:l.payload.data};case t["SHOW_".concat(e,"_MESSAGE")]:return{...o,messageVisible:!0};case t["HIDE_".concat(e,"_MESSAGE")]:return{...o,messageVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return{...o,working:!1,messageText:a,messageVisible:!1,data:null}}return o}},exports.reducers=et,exports.reportsResultsFactory=function reportsResultsFactory(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,o=arguments.length>1?arguments[1]:void 0;switch(o.type){case t["REQUEST_".concat(e)]:return{...a,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...a,loading:!1,data:o.payload.data.reportResults};case t["FETCH_".concat(e,"_ERROR")]:return{...a,loading:!1};default:return a}}},exports.smartGoBack=(e,t)=>{var r;null!=e&&null!==(r=e[e.length-1])&&void 0!==r&&r.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=t=>{let{rows:r,defaultRow:a,setEditStatus:o}=t;const[l,i]=e.useState([]),[n,s]=e.useState();e.useEffect(()=>{i(r)},[r]);return{data:l,setData:i,addRow:()=>{o&&o("edit"),i(a?[...l,{...a,editing:!0,isNewRow:!0}]:[...l,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,r,a)=>{o&&o("edit"),i(()=>l.map(t=>t.id===e.id?{...t,[r]:a,editing:!0}:t))},replaceRow:(e,t)=>{o&&o("edit"),i(()=>l.map(r=>r.id===e.id?{...t,editing:!0}:r))},removeRow:e=>{o&&o("edit"),i(l.filter(t=>t.id!==e))},resetRow:e=>{const t=r.find(t=>t.id===e.id);i(()=>l.map(r=>r.id===e.id?{...t,editing:!1}:r))},setRowToBeDeleted:(e,t)=>{o&&o("edit"),i(l.map(r=>r.id===e?{...r,toBeDeleted:t,editing:!t}:r))},setRowToBeSaved:(e,t)=>{i(l.map(r=>r.id===e?{...r,toBeSaved:t,editing:!t}:r))},setEditing:(e,t)=>{i(r=>r.map(r=>r.id===e?{...r,editing:t,toBeSaved:!1,toBeDeleted:!1}:r))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{i(l.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{i(l.map(e=>!0===e.editing?{...r.find(t=>t.id===e.id),editing:!1}:e))},valid:n}};
|
|
1
|
+
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=_interopDefault(e),r=_interopDefault(require("@material-ui/styles/makeStyles")),a=_interopDefault(require("@material-ui/core/Button")),o=_interopDefault(require("prop-types")),l=require("./BackButton.js"),i=_interopDefault(require("@material-ui/core/Tooltip")),n=_interopDefault(require("@material-ui/core/SvgIcon")),s=_interopDefault(require("@material-ui/core/Typography"));require("@material-ui/core/Link");var c=require("@material-ui/styles"),u=require("./Breadcrumbs.js"),d=require("./SaveBackCancelButtons.js"),m=_interopDefault(require("@material-ui/core/Table")),p=_interopDefault(require("@material-ui/core/TableBody")),w=_interopDefault(require("@material-ui/core/TableCell")),g=_interopDefault(require("@material-ui/core/TableHead")),E=_interopDefault(require("@material-ui/core/TableRow")),h=_interopDefault(require("@material-ui/core/Paper"));require("numeral"),require("@material-ui/core/Modal");var R=require("react-router-dom"),y=require("./ReportTable-091d7264.js"),b=require("./Title.js");require("@material-ui/core/Card"),require("@material-ui/icons/Error"),require("@material-ui/core/styles/withStyles");var f=require("@material-ui/core/styles");require("@material-ui/core/colors/red");var q=require("./errorTheme.js");require("@material-ui/core/colors/pink");var k=require("./linnTheme.js"),T=require("./ErrorCard.js"),v=_interopDefault(require("classnames")),S=_interopDefault(require("@material-ui/core/Box"));require("@material-ui/core/CircularProgress");var C=require("./Loading.js");require("@material-ui/core/TextField");var x=_interopDefault(require("@material-ui/core/InputLabel")),D=require("./Dropdown.js");require("@material-ui/core/FormControlLabel"),require("@material-ui/core/Checkbox"),require("@material-ui/styles/withStyles");var O=require("./CheckboxWithLabel.js"),B=require("./InputField-fa65c239.js");require("@material-ui/core/InputAdornment");var A=_interopDefault(require("moment")),_=_interopDefault(require("@material-ui/core/List")),I=_interopDefault(require("@material-ui/core/ListItem")),P=_interopDefault(require("@material-ui/core/Divider")),F=_interopDefault(require("@material-ui/core/Grid")),j=_interopDefault(require("@material-ui/core/Dialog")),N=_interopDefault(require("@material-ui/core/IconButton")),L=_interopDefault(require("@material-ui/icons/Close")),W=require("./useSearch.js"),z=require("@material-ui/core");require("./SearchIcon-d975c890.js");var V=require("./Typeahead.js");require("notistack");var M=require("./Page.js"),H=require("./EntityList.js"),G=require("./CreateButton.js");require("@material-ui/core/Switch");var U=require("./OnOffSwitch.js");require("@material-ui/core/Snackbar");var Y=require("./SnackbarMessage.js"),K=require("@material-ui/pickers"),Q=require("./DatePicker.js"),J=require("./DateTimePicker.js"),X=require("./SearcInputField.js"),Z=require("./useTablePagination.js");require("@material-ui/core/TablePagination"),require("@material-ui/core/TableSortLabel");var $=_interopDefault(require("@material-ui/icons/Edit"));require("@material-ui/core/LinearProgress");var ee=require("./utilities.js");require("@material-ui/icons/FirstPage"),require("@material-ui/icons/KeyboardArrowLeft"),require("@material-ui/icons/KeyboardArrowRight"),require("@material-ui/icons/LastPage"),require("./TablePaginationActions.js");var te=require("./PaginatedTable.js"),re=require("./TypeahedTable.js");require("@material-ui/icons/Search");var ae=require("./TypeaheadDialog.js"),oe=require("./makeActionTypes.js"),le=require("./makeReportActionTypes.js"),ie=require("redux-api-middleware"),ne=require("./rsaaTypes-eda605ad.js"),se=require("./fetchApiActions.js");require("query-string");var ce=require("./ReportActions.js"),ue=require("./UpdateApiActions.js");require("./index-33862fa7.js");var de=require("./fetchNews.js"),me=require("./markNotificationSeen.js"),pe=require("./fetchMenu.js"),we=require("./ItemType.js"),ge=require("./CollectionSelectors.js"),Ee=require("./PaginationSelectors.js"),he=require("./ItemSelectors.js"),Re=require("./ReportSelectors.js"),ye=require("./collectionStoreFactory.js"),be=require("./collectionWithLinksStoreFactory.js"),fe=require("./itemStoreFactory.js"),qe=require("./paginationStoreFactory.js"),ke=require("./reportOptionsFactory.js"),Te=require("./reportResultsFactory.js"),ve=require("./fetchError.js"),Se=require("./menu.js"),Ce=require("./news.js"),xe=require("./menuSelectors.js"),De=require("./newsSelectors.js"),Oe=require("./getUsername.js"),Be=require("./initialiseOnMount.js");require("react-redux"),require("react-router"),require("@material-ui/core/Tabs"),require("@material-ui/core/Tab"),require("@material-ui/core/AppBar");var Ae=_interopDefault(require("@material-ui/core/ClickAwayListener"));require("@material-ui/core/Menu"),require("@material-ui/core/MenuItem"),require("@material-ui/core/Toolbar"),require("@material-ui/core/Badge"),require("@material-ui/icons/AccountCircle"),require("@material-ui/icons/Notifications");var _e=require("./Navigation.js"),Ie=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),Pe=_interopDefault(require("@material-ui/core/ListItemText")),Fe=_interopDefault(require("@material-ui/icons/Delete")),je=_interopDefault(require("@material-ui/icons/Done")),Ne=_interopDefault(require("@material-ui/styles/ThemeProvider")),Le=_interopDefault(require("@material-ui/icons/Add")),We=_interopDefault(require("clsx")),ze=_interopDefault(require("@material-ui/icons/Save")),Ve=_interopDefault(require("@material-ui/icons/Clear")),Me=require("@material-ui/core/colors");const ExportButton=e=>{let{href:r}=e;return t.createElement("div",{style:{float:"right"}},t.createElement(i,{title:"Download report as CSV file",placement:"top-end"},t.createElement(a,{href:r,color:"primary",variant:"outlined"},"Export",t.createElement(n,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))))};ExportButton.propTypes={href:o.string.isRequired};const setPageBreaks=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return v(r,{"new-page-after":t.includes(e)})},Placeholder=e=>{let{rows:r,columns:a}=e;return t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(r).keys()].map(e=>t.createElement("tr",{key:e},[...Array(a).keys()].map(e=>t.createElement("td",{key:e}))))))},Results=e=>{let{reportData:r,showTotals:a,placeholderRows:o,placeholderColumns:l,pageBreaksAfter:i,fixColumnWidths:n,containsSubtotals:s,showRowTitles:c,showTitle:u,allowPageBreakInside:d}=e;return t.createElement("div",null,r.error?y.displayError(r.message):t.createElement(t.Fragment,null,r.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((e,m)=>t.createElement(S,{paddingBottom:3,key:m,className:setPageBreaks(m,i)},y.formatTitle(e.title,u,!r,r&&r.error),t.createElement(y.ReportTable,{reportData:e,containsSubtotals:s,showTitle:!1,showTotals:a,fixColumnWidths:n,placeholderRows:o,placeholderColumns:l,showRowTitles:c,allowPageBreakInside:d})))))},MultiReportTable=e=>{let{reportData:r,title:a,showTitle:o,showTotals:l,placeholderRows:i,placeholderColumns:n,pageBreaksAfter:s,fixColumnWidths:c,containsSubtotals:u,showRowTitles:d,allowPageBreakInside:m}=e;return t.createElement("div",null,y.formatHeading(a,o,!r,r&&r.error),r?t.createElement(Results,{reportData:r,showTotals:l,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:u,pageBreaksAfter:s,fixColumnWidths:c,showTitle:o,allowPageBreakInside:m}):t.createElement("div",null,t.createElement(Placeholder,{rows:i,columns:n}),t.createElement(Placeholder,{rows:i,columns:n})))};MultiReportTable.propTypes={reportData:o.arrayOf(o.shape({})),title:o.string,showTitle:o.bool,showTotals:o.bool,showRowTitles:o.bool,placeholderRows:o.number,placeholderColumns:o.number,pageBreaksAfter:o.arrayOf(o.number),fixColumnWidths:o.bool,containsSubtotals:o.bool,allowPageBreakInside:o.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results.propTypes={reportData:o.arrayOf(o.shape({})),showTotals:o.bool,showTitle:o.bool,showRowTitles:o.bool,placeholderRows:o.number,placeholderColumns:o.number,pageBreaksAfter:o.arrayOf(o.number),fixColumnWidths:o.bool,containsSubtotals:o.bool,allowPageBreakInside:o.bool.isRequired},Results.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:o.number,columns:o.number},Placeholder.defaultProps={rows:4,columns:4};const He=r(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton(e){let{to:r,external:o,tooltip:l,text:n,disabled:s}=e;const c=He(),button=()=>l?t.createElement(i,{title:l},t.createElement("div",null,t.createElement(a,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},n))):t.createElement(a,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},n);return s?button():t.createElement("div",null,o?t.createElement("a",{className:c.a,href:r},button()):t.createElement(R.Link,{className:c.a,to:r},button()))}LinkButton.propTypes={text:o.string.isRequired,tooltip:o.string,to:o.string.isRequired,external:o.bool,disabled:o.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const getItemError=(e,t)=>{const{errors:r}=e;return r&&r.itemErrors&&r.itemErrors.find(e=>e.item&&e.item===t)||null},Ge=f.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?{...t,maxHeight:e.maxHeight}:t}}));function SelectedItemsList(e){let{items:r,removeItem:a,title:o,maxHeight:l}=e;const i=Ge({maxHeight:l});return t.createElement(t.Fragment,null,t.createElement(s,{variant:"body1"},o),t.createElement(_,{dense:!0,className:i.list},r.map(e=>t.createElement(t.Fragment,null,t.createElement(I,{key:e.id?e.id:e},t.createElement(Pe,{primary:e.displayText?e.displayText:e}),a?t.createElement(Ie,null,t.createElement(N,{edge:"end","aria-label":"delete",onClick:()=>a(e.Id?e.Id:e)},t.createElement(Fe,null))):""),t.createElement(P,null)))))}SelectedItemsList.propTypes={items:o.arrayOf(o.oneOfType([o.string,o.shape({})])),removeItem:o.func,title:o.string,maxHeight:o.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const Ue=f.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),Ye=f.createTheme({palette:{primary:{main:"#FF9494"}}}),Ke=r(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog(r){let{title:o,loading:l,fetchItems:n,searchItems:c,clearSearch:u,onAccept:d}=r;const[m,p]=e.useState(),[w,g]=e.useState(!1),E=Ke();W(n,m,u);const handleClose=()=>{g(!1)};return t.createElement(t.Fragment,null,t.createElement(i,{title:o},t.createElement(a,{color:"primary","aria-label":"Search",onClick:()=>{g(!0)},variant:"outlined",className:E.button},t.createElement($,null))),t.createElement(j,{open:w,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(N,{className:E.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(L,null)),t.createElement("div",{className:E.dialog},t.createElement(s,{variant:"h5",gutterBottom:!0},o),t.createElement(Ne,{theme:!m||l?k.linnTheme:1===c.length?Ue:Ye},t.createElement(B.InputField,{onChange:function(){p(arguments.length<=1?void 0:arguments[1])},label:"",value:m})),1===c.length&&t.createElement(Ne,{theme:Ue},t.createElement(N,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void g(!1);var e}},t.createElement(je,{color:"primary"}))),m&&t.createElement(N,{"aria-label":"Close",onClick:()=>{u(),p("")}},t.createElement(L,null)),l&&t.createElement(C,null)))))}function TableWithInlineEditing(r){let{content:o,columnsInfo:l,updateContent:n,allowedToEdit:s,allowedToCreate:c,allowedToDelete:u}=r;const[d,h]=e.useState(""),handleRowChange=(e,t,r)=>{var a,i;const s={...o[r],[e]:t},c=null===(a=(i=l.find(t=>t.key===e)).updateValues)||void 0===a?void 0:a.call(i,t);if(c)for(let e=0;e<c.length;e+=1)s[c[e].propertyName]=c[e].value;n(o.slice(0,r).concat(s).concat(o.slice(r+1,o.length+1)))},handleRemoveRow=e=>{n(o.slice(0,e).concat(o.slice(e+1,o.length+1)))},switchToEditingDifferentCell=e=>{h(e)},clearEditingCell=()=>{h("")};return t.createElement(m,null,t.createElement(g,{key:"headers",onClick:clearEditingCell},t.createElement(E,null,l.map(e=>t.createElement(w,{key:e.key},e.title)),u&&t.createElement(w,{key:"Deleteplaceholdercell"}))),t.createElement(p,null,o.map((e,r)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:r,updateField:handleRowChange,columnsInfo:l,currentlyEditing:d,changeCell:switchToEditingDifferentCell,allowedToEdit:s,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:u})),c&&t.createElement(E,null,t.createElement(w,null,t.createElement(i,{title:"Add new row","aria-label":"add"},t.createElement(a,{onClick:()=>{let e={id:(new Date).getTime()};l.forEach(t=>{e={...e,[t.key]:null}}),n(o.concat(e))}},t.createElement(Le,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:o.string,loading:o.bool,fetchItems:o.func.isRequired,searchItems:o.arrayOf(o.shape({})).isRequired,onAccept:o.func.isRequired,clearSearch:o.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:o.arrayOf(o.shape({id:o.oneOfType([o.string,o.number])})),updateContent:o.func.isRequired,columnsInfo:o.arrayOf(o.shape({title:o.string,type:o.string,key:o.oneOfType([o.string,o.number])})).isRequired,allowedToEdit:o.bool.isRequired,allowedToCreate:o.bool,allowedToDelete:o.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=r=>{let{rowContent:o,rowIndex:l,updateField:n,columnsInfo:s,currentlyEditing:u,changeCell:d,allowedToEdit:m,clearEditingCell:p,removeRow:g,allowedToDelete:h}=r;const R=c.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{n(e,t,l)};return t.createElement(E,{key:o.id},o!=={}&&s&&(m?t.createElement(t.Fragment,null,s.map((r,a)=>t.createElement(e.Fragment,{key:r.title},t.createElement(w,{onClick:()=>d("".concat(l).concat(r.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?p():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(l).concat(s[t-1].key):"".concat(l-1).concat(s[s.length-1].key)):"Tab"===e.key&&(t<s.length-1?d("".concat(l).concat(s[t+1].key)):d("".concat(l+1).concat(s[0].key)))})(e,a),className:R.pointer},u!=="".concat(l).concat(r.key)?t.createElement("span",{id:"outer".concat(l,"-").concat(a),name:r.key},o[r.key]):t.createElement("div",{id:"inner".concat(l,"-").concat(a)},"dropdown"===r.type?t.createElement(D,{onChange:handleCellChange,items:r.options,value:o[r.key],disabled:r.notEditable,required:r.required,propertyName:r.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(B.InputField,{type:r.type,value:o[r.key],disabled:r.notEditable,required:r.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:r.key}))))),h&&t.createElement(w,{key:"DeleteIcon"},t.createElement(i,{title:"Delete row","aria-label":"add"},t.createElement(a,{onClick:()=>{g(l)}},t.createElement(Fe,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,s.map(r=>t.createElement(e.Fragment,{key:r.title},t.createElement(w,null,t.createElement("span",{name:r.key,className:R.notClickable},o[r.key])))))))};function cloneDate(e){return A.isMoment(e)?e.clone():A(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:o.shape({id:o.oneOfType([o.string,o.number])}),rowIndex:o.number.isRequired,updateField:o.func.isRequired,currentlyEditing:o.string.isRequired,changeCell:o.func.isRequired,allowedToEdit:o.bool.isRequired,clearEditingCell:o.func.isRequired,columnsInfo:o.arrayOf(o.shape({title:o.string,type:o.string,key:o.oneOfType([o.string,o.number]),notEditable:o.bool,updateValues:o.func})).isRequired,removeRow:o.func.isRequired,allowedToDelete:o.bool.isRequired},Row.defaultProps={rowContent:{}};const Qe=c.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker(e){let{selectedDate:r,setWeekStartDate:a,propertyName:o,label:l,disabled:i,required:n}=e;const s=Qe();return t.createElement(t.Fragment,null,t.createElement(x,{classes:{root:s.label},required:n},l),t.createElement(K.KeyboardDatePicker,{autoOk:!0,disabled:i,margin:"dense",inputVariant:"outlined",value:r?A(r):null,onChange:e=>{a(o,getWeekStartDate(e))},renderDay:(e,r,a)=>{const o=getWeekStartDate(r),l=getWeekEndDate(r),i=e.isBetween(o,l,"days","[]"),n=e.isSame(o,"day"),c=e.isSame(l,"day"),u=We({[s.highlight]:i,[s.firstHighlight]:n,[s.endHighlight]:c}),d=We(s.day,{[s.nonCurrentMonthDay]:!a,[s.highlightNonCurrentMonthDay]:!a&&i});return t.createElement("div",{className:u},t.createElement(z.IconButton,{className:d},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:o.oneOfType([o.shape({}),o.string]),setWeekStartDate:o.func.isRequired,propertyName:o.string,label:o.string,disabled:o.bool,required:o.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const Je={minWidth:"120px"};function EditableTableCell(r){var a;let{column:o,item:l,editable:n,editing:s,isNewRow:c,handleValueChange:u,...d}=r;const Content=()=>s&&o.editable&&n||c&&s&&o.required?function inputComponentFactory(e,r,a){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,l=arguments.length>4?arguments[4]:void 0;switch(r.type){case"text":return t.createElement(B.InputField,{value:e[r.id],onChange:a,fullWidth:!0,rows:o,propertyName:r.id,required:r.required});case"number":return t.createElement(B.InputField,{value:e[r.id],type:"number",onChange:a,propertyName:r.id,required:r.required});case"date":return t.createElement(Q,{value:e[r.id]||null,onChange:e=>a(r.id,e),required:r.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[r.id]||null,setWeekStartDate:a,propertyName:r.id,required:r.required});case"search":return t.createElement(V,{clearSearch:()=>r.clearSearch,fetchItems:r.search,items:r.searchResults,links:!1,loading:r.searchLoading,modal:!0,onSelect:t=>r.selectSearchResult(r.id,t,e),propertyName:r.id,title:r.searchTitle,value:e[r.id],required:r.required,minimumSearchTermLength:r.minimumSearchTermLength});case"dropdown":return t.createElement(D,{fullWidth:!0,value:e[r.id],onChange:a,items:r.options,propertyName:r.id,required:r.required});case"component":return t.createElement(r.component,B._extends({value:e[r.id],onChange:e=>a(r.id,e),required:r.required},l));default:return""}}(l,o,u,o.textFieldRows,d):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?A(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,o),m=null!==(a=o.style)&&void 0!==a&&a.body?{...Je,...o.style.body}:Je;return o.tooltip?t.createElement(e.Fragment,{key:"".concat(null==o?void 0:o.id).concat(l.id)},t.createElement(i,{title:o.tooltip(l)||""},t.createElement(w,{id:o.type,key:"".concat(null==o?void 0:o.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==o?void 0:o.id).concat(l.id)},t.createElement(w,{id:o.type,style:m},Content()))}EditableTableCell.propTypes={column:o.shape({tooltip:o.func,id:o.oneOfType([o.number,o.string]),editable:o.bool,type:o.string,required:o.bool,textFieldRows:o.number,style:o.shape({body:o.shape({})})}).isRequired,item:o.shape({id:o.oneOfType([o.string,o.number])}).isRequired,editable:o.bool,editing:o.bool,isNewRow:o.bool,handleValueChange:o.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const Xe=o.shape({id:o.oneOfType([o.number,o.string]).isRequired,type:o.string.isRequired,component:o.func,editable:o.bool,options:o.arrayOf(o.oneOfType([o.shape({}),o.string,o.number])),required:o.bool,searchLoading:o.bool,searchResults:o.arrayOf(o.shape({})),searchTitle:o.string,tooltip:o.oneOfType([o.string,o.func]),clearSearch:o.func,closeRowOnClickAway:o.func,search:o.func,selectSearchResult:o.func,minimumSearchTermLength:o.number,textFieldRows:o.number,componentViewDisplay:o.oneOf(["value","nothing"])}),Ze=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?Me.green[50]:e.toBeDeleted?Me.red[50]:"transparent"}}));function GroupEditableTableRow(r){let{row:o,columns:l,editable:n,updateRow:s,validateRow:c,removeRow:u,isRowValid:d,resetRow:m,deleteRowPreEdit:p,handleEditClick:g,setRowToBeSaved:h,setRowToBeDeleted:R,removeRowOnDelete:y,closeRowOnClickAway:b,editOnRowClick:f,...q}=r;const[k,T]=e.useState(),v=e.useRef(),S=Ze({toBeSaved:o.toBeSaved,toBeDeleted:o.toBeDeleted});e.useEffect(()=>{v.current=d},[d]),e.useEffect(()=>{if(o.editing){let e=!0;c&&(e=c(o)),l.forEach(t=>{!0!==t.required||o[t.id]||(e=!1)}),v.current&&o.id&&v.current(e,o.id),T(e)}},[c,l,o]);const handleValueChange=(e,t)=>{s(o,null,e,t)},handleEditButtonClick=()=>{g(o.id,!0)},handleDeleteClick=()=>{y||o.isNewRow?u(o.id):R(o.id,!0)},deleteButtonEnabled=()=>!o.toBeDeleted&&!o.toBeSaved;return t.createElement(Ae,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&b&&b&&o.editing&&g(o.id,!1)})(e)},t.createElement(E,{onClick:!o.editing&&f&&!p&&handleEditButtonClick,classes:{root:S.row}},l.map(e=>t.createElement(EditableTableCell,B._extends({key:"".concat(o.id).concat(e.id),column:e,item:o,editable:n,editing:o.editing,handleValueChange:handleValueChange},q))),n&&(o.editing?t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(a,{onClick:()=>{h(o.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:S.button},disabled:!(k&&!o.toBeDeleted&&!o.toBeSaved),"data-testid":"saveButton"},t.createElement(ze,{fontSize:"small"}))),t.createElement(w,null,t.createElement(i,{title:"Revert changes to row"},t.createElement(a,{onClick:()=>{o.isNewRow?u(o.id):m(o)},color:"secondary",variant:"outlined",classes:{root:S.button},size:"small","data-testid":"cancelButton"},t.createElement(Ve,{fontSize:"small"})))),u&&t.createElement(w,null,t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(Fe,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(i,{title:"Edit Row"},t.createElement(a,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:S.button},"data-testid":"editButton"},t.createElement($,{fontSize:"small"})))),u&&p&&t.createElement(w,null,t.createElement(i,{title:"Remove Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(Fe,{fontSize:"small"})))),t.createElement(w,null)))))}function GroupEditTable(r){let{columns:o,rows:l,editable:i,updateRow:n,validateRow:s,deleteRow:c,allowNewRowCreation:u,addRow:d,tableValid:R,removeRow:y,resetRow:b,closeRowOnClickAway:f,deleteRowPreEdit:q,handleEditClick:k,setRowToBeSaved:T,setRowToBeDeleted:v,removeRowOnDelete:S,editOnRowClick:C,...x}=r;const[D,O]=e.useState([]);e.useEffect(()=>{R&&R(!D.some(e=>!e.valid))},[D,R]);const handleRemoveRow=e=>{y(e)},handleIsRowValid=(e,t)=>{D.some(e=>e.id===t)?O(D.map(r=>r.id===t?{...r,valid:e}:r)):O([...D,{id:t,valid:e}]),R&&R(!D.some(e=>!e.valid))};return t.createElement(h,{style:{overflow:"auto"}},t.createElement(m,{style:{tableLayout:"auto"},size:"small"},t.createElement(g,null,t.createElement(E,null,o.map(e=>{var r;return t.createElement(w,{key:e.id,style:null===(r=e.style)||void 0===r?void 0:r.head},e.title)}),t.createElement(w,null),t.createElement(w,null),c&&t.createElement(w,null))),t.createElement(p,null,l.map(e=>t.createElement(GroupEditableTableRow,B._extends({key:e.id,row:e,columns:o,editable:i,updateRow:n,validateRow:s,removeRow:y?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:b,deleteRowPreEdit:q,handleEditClick:k,setRowToBeDeleted:v,setRowToBeSaved:T,removeRowOnDelete:S,closeRowOnClickAway:f,editOnRowClick:C},x))),i&&u&&t.createElement(E,null,t.createElement(w,null,t.createElement(a,{size:"small",onClick:()=>{d()},"data-testid":"addButton"},t.createElement(Le,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:o.shape({editing:o.bool,id:o.oneOfType([o.string,o.number]),toBeDeleted:o.bool,toBeSaved:o.bool,isNewRow:o.bool}).isRequired,columns:o.arrayOf(Xe).isRequired,updateRow:o.func.isRequired,editable:o.bool,removeRow:o.func,validateRow:o.func,isRowValid:o.func,resetRow:o.func,deleteRowPreEdit:o.bool,handleEditClick:o.func,setRowToBeDeleted:o.func,setRowToBeSaved:o.func.isRequired,removeRowOnDelete:o.bool,closeRowOnClickAway:o.bool,editOnRowClick:o.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:o.arrayOf(Xe).isRequired,rows:o.arrayOf(o.shape({})).isRequired,handleEditClick:o.func.isRequired,editable:o.bool,updateRow:o.func,validateRow:o.func,deleteRow:o.func,allowNewRowCreation:o.bool,addRow:o.func,tableValid:o.func,removeRow:o.func,resetRow:o.func,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,setRowToBeDeleted:o.func.isRequired,setRowToBeSaved:o.func.isRequired,removeRowOnDelete:o.bool,editOnRowClick:o.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const $e=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(r){let{row:o,columns:l,saveRow:n,editable:s,isNewRow:c,removeRow:u,updateRow:d,validateRow:m,deleteRow:p,closeRowOnClickAway:g,deleteRowPreEdit:h,editOnRowClick:R,...y}=r;const[b,f]=e.useState(!1),[q,k]=e.useState({}),[T,v]=e.useState({});e.useEffect(()=>{v(o),k(o),c&&f(!0)},[o,c]);const S=$e(),handleDeleteClick=()=>{p(T.id)},handleValueChange=(e,t)=>{d?d(T,v,e,t):v({...T,[e]:t})},handleEditButtonClick=()=>{f(!0)};return t.createElement(Ae,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&g&&g&&f(!1)})(e)},t.createElement(E,{onClick:!b&&R&&!h&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,B._extends({key:"".concat(o.id).concat(e.id),column:e,item:T,editable:s,editing:b,isNewRow:c,handleValueChange:handleValueChange},y))),s&&(b?t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(a,{onClick:()=>{n(T)},color:"primary",variant:"contained",size:"small",classes:{root:S.button},disabled:!(()=>{let e=!0;return m&&(e=m(T)),l.forEach(t=>{!0!==t.required||T[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(je,{style:{color:Me.grey[50]},fontSize:"small"}))),t.createElement(w,null,t.createElement(i,{title:"Revert changes to row"},t.createElement(a,{onClick:()=>{c?u(T.id):(f(!1),v(q))},color:"secondary",variant:"outlined",classes:{root:S.button},size:"small","data-testid":"cancelButton"},t.createElement(Ve,{fontSize:"small"})))),p&&t.createElement(w,null,t.createElement(i,{title:"Delete Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton"},t.createElement(Fe,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(w,null,t.createElement(i,{title:"Edit Row"},t.createElement(a,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:S.button},"data-testid":"editButton"},t.createElement($,{fontSize:"small"})))),!c&&p&&h&&t.createElement(w,null,t.createElement(i,{title:"Delete Row"},t.createElement(a,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:S.button},size:"small","data-testid":"deleteButton"},t.createElement(Fe,{fontSize:"small"})))),t.createElement(w,null)))))}function SingleEditTable(r){let{columns:o,rows:l,saveRow:i,createRow:n,editable:s,newRow:c,updateRow:u,validateRow:d,deleteRow:R,allowNewRowCreation:y,closeRowOnClickAway:b,deleteRowPreEdit:f,editOnRowClick:q,newRowPosition:k,...T}=r;const[v,S]=e.useState(!1),handleRemoveRow=()=>{S(!1)},renderNewRow=()=>v?t.createElement(SingleEditableTableRow,B._extends({row:c,columns:o,saveRow:n,editable:s,isNewRow:!0,updateRow:u,validateRow:d,removeRow:handleRemoveRow,editOnRowClick:q},T)):t.createElement(E,null,t.createElement(w,null,t.createElement(a,{size:"small",onClick:()=>S(!0),"data-testid":"addButton"},t.createElement(Le,{size:"small"}))));return t.createElement(h,{style:{overflow:"auto"}},t.createElement(m,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(g,null,t.createElement(E,null,o.map(e=>{var r;return t.createElement(w,{key:e.id,style:null===(r=e.style)||void 0===r?void 0:r.head},e.title)}),t.createElement(w,null),t.createElement(w,null),R&&t.createElement(w,null))),t.createElement(p,null,"top"===k&&s&&y&&t.createElement(t.Fragment,null," ",renderNewRow()," "),l.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:o,saveRow:i,editable:s,updateRow:u,validateRow:d,deleteRow:R,closeRowOnClickAway:b,deleteRowPreEdit:f,editOnRowClick:q})),"bottom"===k&&s&&y&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:o.shape({editing:o.bool,id:o.oneOfType([o.string,o.number])}).isRequired,columns:o.arrayOf(Xe).isRequired,saveRow:o.func,editable:o.bool,isNewRow:o.bool,removeRow:o.func,updateRow:o.func,validateRow:o.func,deleteRow:o.func,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,editOnRowClick:o.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:o.arrayOf(Xe).isRequired,rows:o.arrayOf(o.shape({})).isRequired,saveRow:o.func,createRow:o.func,editable:o.bool,newRow:o.shape({}),updateRow:o.func,validateRow:o.func,deleteRow:o.func,closeEditingOnSave:o.bool,allowNewRowCreation:o.bool,closeRowOnClickAway:o.bool,deleteRowPreEdit:o.bool,editOnRowClick:o.bool,newRowPosition:o.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const et={menu:Se,news:Ce};exports.BackButton=l,exports.Breadcrumbs=u,exports.SaveBackCancelButtons=d,exports.ReportTable=y.ReportTable,exports.Title=b,exports.errorTheme=q.errorTheme,exports.linnTheme=k.linnTheme,exports.ErrorCard=T,exports.Loading=C,exports.Dropdown=D,exports.CheckboxWithLabel=O,exports.InputField=B.InputField,exports.useSearch=W,exports.Typeahead=V,exports.Page=M,exports.EntityList=H,exports.CreateButton=G,exports.OnOffSwitch=U,exports.SnackbarMessage=Y,exports.DatePicker=Q,exports.DateTimePicker=J,exports.SearchInputField=X,exports.useTablePagination=Z,exports.utilities=ee,exports.PaginatedTable=te,exports.TypeaheadTable=re,exports.TypeaheadDialog=ae,exports.makeActionTypes=oe,exports.makeReportActionTypes=le,exports.FetchApiActions=se,exports.ReportActions=ce,exports.UpdateApiActions=ue,exports.fetchNews=de,exports.markNotificationSeen=me,exports.fetchMenu=pe,exports.ItemType=we,exports.CollectionSelectors=ge,exports.PaginationSelectors=Ee,exports.ItemSelectors=he,exports.ReportSelectors=Re,exports.collectionStoreFactory=ye,exports.collectionWithLinksStoreFactory=be,exports.itemStoreFactory=fe,exports.paginationStoreFactory=qe,exports.reportOptionsFactory=ke,exports.reportResultsFactory=Te,exports.fetchErrorReducer=ve,exports.menu=Se,exports.news=Ce,exports.menuSelectors=xe,exports.newsSelectors=De,exports.getUsername=Oe,exports.initialiseOnMount=Be,exports.Navigation=_e,exports.ExportButton=ExportButton,exports.GroupEditTable=GroupEditTable,exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.MultiReportTable=MultiReportTable,exports.NotFound=function NotFound(){return t.createElement(F,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(b,{text:"Page not found"}))},exports.ProcessActions=function ProcessActions(e,t,r,a,o){this.requestProcessStart=l=>({[ie.RSAA]:{endpoint:"".concat(o).concat(r),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):"",types:[ne.requested(a,t),ne.receivedProcess(a,t,e),ne.error(a,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:a["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:a["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:a["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:a["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const r=t[e];return r?r.working:null},this.getMessageVisible=t=>{const r=t[e];return r?r.messageVisible:null},this.getMessageText=t=>{const r=t[e];return r?r.messageText:null},this.getData=t=>{const r=t[e];return r?r.data:null}},exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.StateApiActions=function StateApiActions(e,t,r,a,o,l){this.fetchState=()=>({[ie.RSAA]:{endpoint:"".concat(o).concat(r,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[ne.requestedState(a,t),ne.receivedState(a,t,e),ne.error(a,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.ValidatedInputDialog=ValidatedInputDialog,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var r,a,o,l,i;return(null===(r=getItemError(e,t))||void 0===r||null===(a=r.details)||void 0===a?void 0:a.message)||(null===(o=getItemError(e,t))||void 0===o||null===(l=o.details)||void 0===l||null===(i=l.errors)||void 0===i?void 0:i[0])||null},exports.getItemErrors=e=>{const{errors:t}=e;if(!t||!t.itemErrors)return null;const r=t.itemErrors;return r.length>0?r:null},exports.getPreviousPaths=e=>{const{historyStore:t}=e;return t},exports.getRequestErrors=e=>{const{errors:t}=e;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.processStoreFactory=function processStoreFactory(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{working:!1,messageText:"",messageVisible:!1},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Completed successfully";const getMessage=e=>e.data&&e.data.message?e.data.message:a;return function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,l=arguments.length>1?arguments[1]:void 0;switch(l.type){case t["REQUEST_".concat(e)]:return{...o,working:!0,data:null};case t["RECEIVE_".concat(e)]:return{...o,working:!1,messageText:getMessage(l.payload),messageVisible:!0,data:l.payload.data};case t["SHOW_".concat(e,"_MESSAGE")]:return{...o,messageVisible:!0};case t["HIDE_".concat(e,"_MESSAGE")]:return{...o,messageVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return{...o,working:!1,messageText:a,messageVisible:!1,data:null};case t["FETCH_".concat(e,"_ERROR")]:return{...o,working:!1}}return o}},exports.reducers=et,exports.reportsResultsFactory=function reportsResultsFactory(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,o=arguments.length>1?arguments[1]:void 0;switch(o.type){case t["REQUEST_".concat(e)]:return{...a,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...a,loading:!1,data:o.payload.data.reportResults};case t["FETCH_".concat(e,"_ERROR")]:return{...a,loading:!1};default:return a}}},exports.smartGoBack=(e,t)=>{var r;null!=e&&null!==(r=e[e.length-1])&&void 0!==r&&r.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=t=>{let{rows:r,defaultRow:a,setEditStatus:o}=t;const[l,i]=e.useState([]),[n,s]=e.useState();e.useEffect(()=>{i(r)},[r]);return{data:l,setData:i,addRow:()=>{o&&o("edit"),i(a?[...l,{...a,editing:!0,isNewRow:!0}]:[...l,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,r,a)=>{o&&o("edit"),i(()=>l.map(t=>t.id===e.id?{...t,[r]:a,editing:!0}:t))},replaceRow:(e,t)=>{o&&o("edit"),i(()=>l.map(r=>r.id===e.id?{...t,editing:!0}:r))},removeRow:e=>{o&&o("edit"),i(l.filter(t=>t.id!==e))},resetRow:e=>{const t=r.find(t=>t.id===e.id);i(()=>l.map(r=>r.id===e.id?{...t,editing:!1}:r))},setRowToBeDeleted:(e,t)=>{o&&o("edit"),i(l.map(r=>r.id===e?{...r,toBeDeleted:t,editing:!t}:r))},setRowToBeSaved:(e,t)=>{i(l.map(r=>r.id===e?{...r,toBeSaved:t,editing:!t}:r))},setEditing:(e,t)=>{i(r=>r.map(r=>r.id===e?{...r,editing:t,toBeSaved:!1,toBeDeleted:!1}:r))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{i(l.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{i(l.map(e=>!0===e.editing?{...r.find(t=>t.id===e.id),editing:!1}:e))},valid:n}};
|
package/dist/bundle.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var e=require("react"),t=_interopDefault(e),a=_interopDefault(require("@material-ui/styles/makeStyles")),n=_interopDefault(require("@material-ui/core/Button")),r=_interopDefault(require("prop-types")),o=_interopDefault(require("@material-ui/core/Tooltip")),l=_interopDefault(require("@material-ui/core/SvgIcon")),i=_interopDefault(require("@material-ui/core/Typography")),s=_interopDefault(require("@material-ui/core/Link")),c=require("@material-ui/styles"),u=_interopDefault(require("@material-ui/core/Table")),d=_interopDefault(require("@material-ui/core/TableBody")),p=_interopDefault(require("@material-ui/core/TableCell")),m=_interopDefault(require("@material-ui/core/TableHead")),g=_interopDefault(require("@material-ui/core/TableRow")),E=_interopDefault(require("@material-ui/core/Paper")),h=_interopDefault(require("numeral")),y=_interopDefault(require("@material-ui/core/Modal")),f=require("react-router-dom"),b=_interopDefault(require("@material-ui/core/Card")),R=_interopDefault(require("@material-ui/icons/Error")),w=_interopDefault(require("@material-ui/core/styles/withStyles")),T=require("@material-ui/core/styles"),S=_interopDefault(require("@material-ui/core/colors/red")),k=_interopDefault(require("@material-ui/core/colors/pink")),C=_interopDefault(require("classnames")),v=_interopDefault(require("@material-ui/core/Box")),_=_interopDefault(require("@material-ui/core/CircularProgress")),x=_interopDefault(require("@material-ui/core/TextField")),A=_interopDefault(require("@material-ui/core/InputLabel")),D=_interopDefault(require("@material-ui/core/FormControlLabel")),q=_interopDefault(require("@material-ui/core/Checkbox")),I=_interopDefault(require("@material-ui/styles/withStyles")),P=_interopDefault(require("@material-ui/core/InputAdornment")),O=_interopDefault(require("moment")),L=_interopDefault(require("@material-ui/core/List")),N=_interopDefault(require("@material-ui/core/ListItem")),B=_interopDefault(require("@material-ui/core/Divider")),F=_interopDefault(require("@material-ui/core/Grid")),V=_interopDefault(require("@material-ui/core/Dialog")),W=_interopDefault(require("@material-ui/core/IconButton")),H=_interopDefault(require("@material-ui/icons/Close")),U=require("@material-ui/core"),z=require("notistack"),M=_interopDefault(require("@material-ui/core/Switch")),Q=_interopDefault(require("@material-ui/core/Snackbar")),j=require("@material-ui/pickers"),G=_interopDefault(require("@material-ui/core/TablePagination")),Y=_interopDefault(require("@material-ui/core/TableSortLabel")),K=_interopDefault(require("@material-ui/icons/Edit")),J=_interopDefault(require("@material-ui/core/LinearProgress")),X=_interopDefault(require("@material-ui/icons/FirstPage")),Z=_interopDefault(require("@material-ui/icons/KeyboardArrowLeft")),$=_interopDefault(require("@material-ui/icons/KeyboardArrowRight")),ee=_interopDefault(require("@material-ui/icons/LastPage")),te=_interopDefault(require("@material-ui/icons/Search")),ae=require("redux-api-middleware"),ne=_interopDefault(require("query-string")),re=require("react-redux"),oe=require("react-router"),le=_interopDefault(require("@material-ui/core/Tabs")),ie=_interopDefault(require("@material-ui/core/Tab")),se=_interopDefault(require("@material-ui/core/AppBar")),ce=_interopDefault(require("@material-ui/core/ClickAwayListener")),ue=_interopDefault(require("@material-ui/core/Menu")),de=_interopDefault(require("@material-ui/core/MenuItem")),pe=_interopDefault(require("@material-ui/core/Toolbar")),me=_interopDefault(require("@material-ui/core/Badge")),ge=_interopDefault(require("@material-ui/icons/AccountCircle")),Ee=_interopDefault(require("@material-ui/icons/Notifications")),he=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),ye=_interopDefault(require("@material-ui/core/ListItemText")),fe=_interopDefault(require("@material-ui/icons/Delete")),be=_interopDefault(require("@material-ui/icons/Done")),Re=_interopDefault(require("@material-ui/styles/ThemeProvider")),we=_interopDefault(require("@material-ui/icons/Add")),Te=_interopDefault(require("clsx")),Se=_interopDefault(require("@material-ui/icons/Save")),ke=_interopDefault(require("@material-ui/icons/Clear")),Ce=require("@material-ui/core/colors");const ve=a(()=>({pullLeft:{float:"left"}})),BackButton=e=>{let{backClick:a,text:r}=e;const o=ve();return t.createElement("div",{className:o.pullLeft},t.createElement(n,{id:"back-button",onClick:()=>a()},r||"Back"))};BackButton.propTypes={backClick:r.func.isRequired,text:r.string},BackButton.defaultProps={text:null};const ExportButton=e=>{let{href:a}=e;return t.createElement("div",{style:{float:"right"}},t.createElement(o,{title:"Download report as CSV file",placement:"top-end"},t.createElement(n,{href:a,color:"primary",variant:"outlined"},"Export",t.createElement(l,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))))};ExportButton.propTypes={href:r.string.isRequired};const _e=c.makeStyles(()=>({root:{width:"100%"},link:{"&:hover":{cursor:"pointer"}}})),Slash=()=>t.createElement(t.Fragment,null," "," / "," ");function Breadcrumbs(a){let{history:n,rootPathLength:r,homeUrl:o}=a;const l=_e();let c=n.location.pathname;c.endsWith("/")&&(c=c.substring(0,c.length-1));const u=c.split("/").filter(e=>"report"!==e).reduce((e,t,a,o)=>{c=o.slice(0,a+1);const l=c.join("/")||"/";return t?[...e,{key:a,caption:t,href:l,onClick:e=>(e=>{c.length>r&&(e.preventDefault(),n.push(l))})(e)}]:e},[]);return t.createElement("div",{className:l.root},t.createElement(t.Fragment,null,t.createElement(s,{key:"home",href:o,classes:{root:l.link},variant:"button"},"HOME"),t.createElement(Slash,null)),u.map((a,n)=>n<u.length-1?t.createElement(e.Fragment,{key:n},t.createElement(s,{key:a.href,to:a.href,classes:{root:l.link},variant:"button",onClick:a.onClick},a.caption),t.createElement(Slash,null)):t.createElement(i,{display:"inline",variant:"button",key:n},a.caption)))}Breadcrumbs.propTypes={history:r.shape({push:r.func,location:r.shape({pathname:r.string})}).isRequired,rootPathLength:r.number,homeUrl:r.string},Breadcrumbs.defaultProps={rootPathLength:2,homeUrl:"https://app.linn.co.uk"};const xe=c.makeStyles(e=>({pullRight:{float:"right"},cancel:{marginRight:e.spacing(1)}}));function SaveBackCancelButtons(e){let{saveClick:a,cancelClick:r,saveDisabled:o,backClick:l}=e;const i=xe();return t.createElement("div",{className:i.pullRight},t.createElement(n,{id:"cancel-button",onClick:()=>{o?l():r()},variant:"outlined",className:i.cancel},o?"Back":"Cancel"),t.createElement(n,{id:"save-button",variant:"contained",color:"primary",onClick:()=>a(),disabled:o},"Save"))}SaveBackCancelButtons.propTypes={saveClick:r.func.isRequired,cancelClick:r.func.isRequired,backClick:r.func.isRequired,saveDisabled:r.bool},SaveBackCancelButtons.defaultProps={saveDisabled:!1};const Ae=a(e=>({link:{textDecoration:"none",color:e.palette.primary.main,padding:0,"&:hover":{cursor:"pointer",textDecoration:"underline",background:"transparent"}}}));function LinkOrAnchor(e){let{hasExternalLinks:a,text:r,href:o}=e;const l=Ae();return a?t.createElement("a",{style:{textDecoration:"none"},href:o},t.createElement(n,{size:"small",className:l.link},r)):t.createElement(s,{className:l.link,component:f.Link,to:o}," ",r," ")}const format=(e,t,a,n)=>{let r;return r=n&&"0"!==n?".".concat(Array(n+1).join("0")):"",e||0===e?(t||"")+h(e).format("0,0".concat(r))+(a||""):null},setDrilldown=(e,t)=>{let a,n;e&&e.hasOwnProperty("displayString")?(a=e.displayString,e.drillDowns.length>0&&(n=e.drillDowns[0].href)):a=e;return n?LinkOrAnchor({hasExternalLinks:t,text:a,href:n}):a},formatTitle=(a,n,r,o,l)=>{if(o)return t.createElement("strong",null,"Error");if(!n)return"";let s;return s=a&&a.displayString?a.displayString:a,r?t.createElement(i,{variant:"subtitle1"},"".concat(s," (loading)")):t.createElement(e.Fragment,null,t.createElement("div",null,t.createElement(i,{variant:"subtitle1"},setDrilldown(a))),l?t.createElement("div",null,t.createElement(y,{"aria-labelledby":"simple-modal-title","aria-describedby":"simple-modal-description"},l)):"")},setValueDrilldown=(e,t)=>{let a;if(e&&(e.displayValue||0===e.displayValue))if(e.drillDowns&&e.drillDowns.length>0){const n=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces),{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,href:r,text:n})}else a=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces);else a=null;return a},De=r.shape({rowHeader:r.string.isRequired,columnHeaders:r.arrayOf(r.string).isRequired,varianceColumns:r.arrayOf(r.number).isRequired}),qe=r.shape({rowTitle:r.object.isRequired,rowSortOrder:r.number,values:r.arrayOf(r.object).isRequired}),Ie=r.shape({title:r.object,resultType:r.string,reportValueType:r.string,headers:De,results:r.arrayOf(qe).isRequired,totals:qe}),Title=e=>{let{text:a}=e;return t.createElement(i,{variant:"h4",gutterBottom:!0},a)};Title.propTypes={text:r.string.isRequired};const Pe=T.createTheme({palette:{background:{paper:S[100]}}}),Oe=T.createTheme({palette:{primary:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastText:"rgba(0, 0, 0, 0.87)",dark:"#0097a7",light:"#4dd0e1",main:"#00acc1"},secondary:k}}),ErrorCard=e=>{let{classes:a,errorMessage:n}=e;return t.createElement(T.MuiThemeProvider,{theme:Pe},t.createElement(b,{className:a.root},t.createElement(R,{color:"error",className:a.icon}),t.createElement(i,{align:"center",className:a.typography},n)))};ErrorCard.propTypes={classes:r.shape({}),errorMessage:r.string.isRequired},ErrorCard.defaultProps={classes:{}};var Le=w(()=>({root:{display:"flex",justifyContent:"center",width:"50%",margin:"auto",padding:10},icon:{marginRight:5},typography:{fontSize:16}}))(ErrorCard);const Ne=a(()=>({subTotal:{fontWeight:"bolder"},root:{width:"100%",overflow:"auto",textAlign:"center",pageBreakInside:"avoid"},rootAllowsPageBreaks:{width:"100%",overflow:"auto",textAlign:"center"},numberField:{textAlign:"right"},noWrap:{whiteSpace:"nowrap"},smallCol:{width:"100px",overflow:"auto"},mediumCol:{width:"200px",overflow:"auto"},largeCol:{width:"300px",overflow:"auto"}})),setCellClasses=(e,t,a,n,r,o,l,i,s)=>{let c="";return("Subtotal"===n||l)&&(c+="".concat(e.subTotal," ")),o||a||(c+="".concat(e.numberField," ")),i||(c+="".concat(e.noWrap," ")),s&&(c+="".concat(s," ")),c},setHeaderCellClasses=(e,t,a,n,r,o)=>{let l="";return a||(l+="".concat(e.numberField," ")),"small"===r&&(l+="".concat(e.smallCol," ")),"medium"===r&&(l+="".concat(e.mediumCol," ")),"large"===r&&(l+="".concat(e.largeCol," ")),o&&(l+="".concat(o," ")),l},Results=e=>{let{reportData:a,classes:n,title:r,showTitle:o,showTotals:l,hasExternalLinks:i,showRowTitles:s,columnClasses:c,allowPageBreakInside:h}=e;return t.createElement(E,{className:h?n.rootAllowsPageBreaks:n.root},t.createElement(Title,{text:formatTitle(r,o,!a,a&&a.error,a?a.reportHelpText:"")}),t.createElement("div",{style:{backgroundColor:"white"}},t.createElement(u,{size:"small"},t.createElement(m,{key:"headers"},t.createElement(g,null,s?t.createElement(p,null," ",a.headers.rowHeader," "):null,a.headers.columnHeaders.map((e,r)=>t.createElement(p,{className:setHeaderCellClasses(n,a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),c?c[r]:null),key:e},e)))),t.createElement(d,null,a.results.map((e,r)=>t.createElement(g,{key:r},s?t.createElement(p,{className:n.noWrap},setDrilldown(e.rowTitle,i)):null,e.values.map((r,o)=>t.createElement(p,{className:setCellClasses(n,r&&r.displayValue,r?r.textDisplayValue:null,e.rowType,a.headers.varianceColumns.includes(o),a.headers.textColumns.includes(o),a.headers.totalColumns.includes(o),!r||r.allowWrap),key:o},setValueDrilldown(r,i),((e,t)=>{let a;if(e&&e.textDisplayValue)if(e.drillDowns&&e.drillDowns.length>0){const n=e.textDisplayValue,{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,text:n,href:r})}else a=e.textDisplayValue;else a=null;return a})(r,i))))),!!l&&t.createElement(g,{key:"totals"},s?t.createElement(p,null,a.totals.rowTitle.displayString):null,a.totals.values.map((e,r)=>t.createElement(p,{className:setCellClasses(n,e&&e.displayValue,e?e.textDisplayValue:null,"Total",a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),!e||e.allowWrap),key:r},setValueDrilldown(e,i))))))))};function ReportTable(e){let{placeholderRows:a,placeholderColumns:n,reportData:r,hasExternalLinks:o,title:l,showTitle:i,showTotals:s,showRowTitles:c,columnClasses:m,allowPageBreakInside:h}=e;const y=Ne();return r?r.message?t.createElement(Le,{errorMessage:r.message}):Results({reportData:r,hasExternalLinks:o,classes:y,title:l,showRowTitles:c,showTitle:i,showTotals:s,columnClasses:m,allowPageBreakInside:h}):t.createElement(E,{className:h?y.rootAllowsPageBreaks:y.root},t.createElement(u,null,t.createElement(d,null,[...Array(a).keys()].map(e=>t.createElement(g,{key:e},[...Array(n).keys()].map(e=>t.createElement(p,{key:e})))))))}Results.propTypes={hasExternalLinks:r.bool,reportData:Ie,classes:r.shape({root:r.shape({}),noWrap:r.shape({}),rootAllowsPageBreaks:r.shape({})}).isRequired,title:r.oneOfType([r.string,r.shape({})]),showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool.isRequired},Results.defaultProps={reportData:null,title:null,showTitle:!0,showTotals:!0,showRowTitles:!0,hasExternalLinks:!1,columnClasses:null},ReportTable.propTypes={hasExternalLinks:r.bool,placeholderRows:r.number.isRequired,placeholderColumns:r.number.isRequired,reportData:r.shape({}),columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool},ReportTable.defaultProps={reportData:null,placeholderRows:5,placeholderColumns:6,hasExternalLinks:!1,columnClasses:null,allowPageBreakInside:!1};const setPageBreaks=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return C(a,{"new-page-after":t.includes(e)})},Placeholder=e=>{let{rows:a,columns:n}=e;return t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(a).keys()].map(e=>t.createElement("tr",{key:e},[...Array(n).keys()].map(e=>t.createElement("td",{key:e}))))))},Results$1=e=>{let{reportData:a,showTotals:n,placeholderRows:r,placeholderColumns:o,pageBreaksAfter:l,fixColumnWidths:i,containsSubtotals:s,showRowTitles:c,showTitle:u,allowPageBreakInside:d}=e;return t.createElement("div",null,a.error?(p=a.message,t.createElement("h5",{className:"error-message"},p)):t.createElement(t.Fragment,null,a.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((e,p)=>t.createElement(v,{paddingBottom:3,key:p,className:setPageBreaks(p,l)},formatTitle(e.title,u,!a,a&&a.error),t.createElement(ReportTable,{reportData:e,containsSubtotals:s,showTitle:!1,showTotals:n,fixColumnWidths:i,placeholderRows:r,placeholderColumns:o,showRowTitles:c,allowPageBreakInside:d})))));var p},MultiReportTable=e=>{let{reportData:a,title:n,showTitle:r,showTotals:o,placeholderRows:l,placeholderColumns:i,pageBreaksAfter:s,fixColumnWidths:c,containsSubtotals:u,showRowTitles:d,allowPageBreakInside:p}=e;return t.createElement("div",null,((e,a,n,r)=>{if(!a)return!1;if(r)return t.createElement("strong",null,"Error");let o;return o=e&&e.displayString?e.displayString:e,n?t.createElement("h5",null,"".concat(o," (loading)")):t.createElement("strong",null,o)})(n,r,!a,a&&a.error),a?t.createElement(Results$1,{reportData:a,showTotals:o,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:u,pageBreaksAfter:s,fixColumnWidths:c,showTitle:r,allowPageBreakInside:p}):t.createElement("div",null,t.createElement(Placeholder,{rows:l,columns:i}),t.createElement(Placeholder,{rows:l,columns:i})))};MultiReportTable.propTypes={reportData:r.arrayOf(r.shape({})),title:r.string,showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results$1.propTypes={reportData:r.arrayOf(r.shape({})),showTotals:r.bool,showTitle:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool.isRequired},Results$1.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:r.number,columns:r.number},Placeholder.defaultProps={rows:4,columns:4};const Be=T.makeStyles(e=>({outer:{textAlign:"center",margin:e.spacing(4),height:"40px"}}));function Loading(){const e=Be();return t.createElement("div",{className:e.outer},t.createElement(_,null))}const Fe=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},helperText:{color:e.palette.error.main},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue=e=>e||0===e,hasDisplayText=e=>e.some(e=>e.displayText||""===e.displayText),getOptions=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(a)return["loading..."];const n=e?[...e]:[];return t&&(hasDisplayText(e)?n.push({id:"",displayText:""}):n.push("")),n};function Dropdown(e){let{onChange:a,optionsLoading:n,propertyName:r,required:o,disabled:l,label:i,items:s,allowNoValue:c,value:u,helperText:d,fullWidth:p,adornment:m,type:g,error:E,margin:h,autoFocus:y}=e;const f=Fe();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:f.label,asterisk:f.labelAsterisk},required:o,error:E,htmlFor:r},i),t.createElement(x,{classes:{root:f.root},autoFocus:y,error:E,id:r,type:g,select:!0,adornment:m,disabled:l,fullWidth:p,value:(b=u,hasValue(b)?b:""),onChange:e=>(e=>{const t=e.target.value;let n;n="number"===g?hasValue(t)?parseFloat(t):null:hasValue(t)?t:"",a(r,n)})(e),SelectProps:{native:!0},helperText:d,margin:h,variant:"outlined",required:o,InputProps:{classes:{disabled:f.disabled}},FormHelperTextProps:{classes:{required:f.required,error:f.error}}},hasDisplayText(s)?getOptions(s,c,n).map(e=>t.createElement("option",{key:e.id,value:e.id},e.displayText)):getOptions(s,c,n).map(e=>t.createElement("option",{key:e,value:e},e))));var b}Dropdown.propTypes={adornment:r.string,disabled:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,items:r.oneOfType([r.arrayOf(r.string),r.arrayOf(r.number),r.arrayOf(r.shape({id:r.oneOfType([r.PropTypes.string,r.PropTypes.number]),displayText:r.string}))]),propertyName:r.string.isRequired,required:r.bool,value:e=>{const{items:t,value:a,allowNoValue:n,optionsLoading:r}=e;return null===a?new Error("Please provide a value that is not null"):r||((e,t)=>hasDisplayText(t)?t.some(t=>t.id===e):t.includes(e))(a,getOptions(t,n))?null:new Error("Please provide a value that is in the items list")},type:r.string,onChange:r.func.isRequired,error:r.bool,margin:r.string,allowNoValue:r.bool,optionsLoading:r.bool,autoFocus:r.bool},Dropdown.defaultProps={adornment:"",disabled:!1,fullWidth:!1,items:[],helperText:"",type:"text",required:!1,value:"",error:!1,margin:"dense",allowNoValue:!0,optionsLoading:!1,label:"",autoFocus:!1};const CheckboxWithLabel=e=>{let{classes:a,checked:n,color:r="primary",label:o,onChange:l}=e;return t.createElement(D,{label:o,classes:{label:"".concat(a.root)},control:t.createElement(q,{checked:n,onChange:l,color:r})})};CheckboxWithLabel.propTypes={classes:r.shape({}),checked:r.bool,color:r.string,label:r.string,onChange:r.func.isRequired},CheckboxWithLabel.defaultProps={classes:{},checked:!1,color:"primary",label:""};var Ve=I({root:{width:"100%",fontSize:14}})(CheckboxWithLabel);function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}const We=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue$1=e=>e||0===e;function InputField(e){let{onChange:a,propertyName:n,type:r,adornment:o,disabled:l,error:i,fullWidth:s,helperText:c,label:u,margin:d,maxLength:p,rows:m,name:g,placeholder:E,required:h,value:y,decimalPlaces:f,textFieldProps:b,autoFocus:R}=e;const w=We();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:w.label,asterisk:w.labelAsterisk},required:h,error:i,htmlFor:n},u),t.createElement(x,_extends({classes:{root:w.root},disabled:l,error:i,fullWidth:s,helperText:c,margin:d,multiline:m>0,name:g,id:n,placeholder:E,required:h,rows:m,type:r,value:"date"===r?O(y).format("YYYY-MM-DD"):(T=y,hasValue$1(T)?T:""),onChange:e=>(e=>{const t=e.target.value;let o=t;"date"===r&&(o=t?O(t).utc().format():""),"number"===r&&(o=hasValue$1(t)?parseFloat(t):null,o&&f&&t.indexOf(".")<t.length-f&&-1!==t.indexOf(".")&&(o=parseFloat(t.slice(0,t.indexOf(".")+f+1)))),a(n,o)})(e),InputProps:{startAdornment:o?t.createElement(P,{position:"start"},o):null,inputProps:{maxLength:p},classes:{disabled:w.disabled}},FormHelperTextProps:{classes:{required:w.required,error:w.error}},onInput:e=>{"number"===r&&p&&(e.target.value=e.target.value.slice(0,p))},variant:"outlined",autoFocus:R},b)));var T}InputField.propTypes={adornment:r.oneOfType([r.string,r.shape({})]),disabled:r.bool,error:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,margin:r.string,maxLength:r.number,required:r.bool,rows:r.number,name:r.string,placeholder:r.string,propertyName:r.string.isRequired,type:r.string,value:r.oneOfType([r.string,r.number]),onChange:r.func,decimalPlaces:r.number,textFieldProps:r.shape({}),autoFocus:r.bool},InputField.defaultProps={adornment:"",disabled:!1,error:!1,fullWidth:!1,helperText:"",label:"",margin:"dense",maxLength:null,required:!1,rows:null,name:"",placeholder:"",type:"text",value:"",onChange:null,decimalPlaces:null,textFieldProps:null,autoFocus:!1};const He=a(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton(e){let{to:a,external:r,tooltip:l,text:i,disabled:s}=e;const c=He(),button=()=>l?t.createElement(o,{title:l},t.createElement("div",null,t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i))):t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i);return s?button():t.createElement("div",null,r?t.createElement("a",{className:c.a,href:a},button()):t.createElement(f.Link,{className:c.a,to:a},button()))}function useSearch(t,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:500,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;const[s,c]=e.useState(null),u=e.useRef(),d=e.useRef(),p=e.useRef();e.useEffect(()=>{u.current=t},[t]),e.useEffect(()=>{d.current=s},[s]),e.useEffect(()=>{n&&(p.current=n)},[n]),e.useEffect(()=>{a&&(null==a?void 0:a.toString().replace(/\s/g,"").length)>=i?(d.current&&clearTimeout(d.current),c(r?setTimeout(()=>u.current(r,a),l):o?setTimeout(()=>u.current(a,o),l):setTimeout(()=>u.current(a),l))):d.current&&clearTimeout(d.current),p.current&&p.current()},[a,r])}LinkButton.propTypes={text:r.string.isRequired,tooltip:r.string,to:r.string.isRequired,external:r.bool,disabled:r.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const SearchIcon=e=>t.createElement(U.IconButton,{onClick:()=>!!e&&e()},t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}))),Ue=a(e=>({a:{textDecoration:"none"},nameText:{fontWeight:e.typography.fontWeightBold},bodyText:{color:e.palette.text.primary},pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)},clearButtonInline:{marginTop:e.spacing(1),display:"inline-block"},clearButton:{padding:"7px 0px"}}));function Typeahead(a){let{fetchItems:l,items:c,title:u,loading:d,clearSearch:p,modal:m,openModalOnClick:g,handleFieldChange:E,links:h,label:y,onSelect:b,value:R,placeholder:w,disabled:T,minimumSearchTermLength:S,debounce:k,searchButtonOnly:C,propertyName:v,priorityFunction:_,resultLimit:x,clearable:A,clearTooltipText:D,onClear:q}=a;const[I,P]=e.useState(""),[O,U]=e.useState(!1),z=Ue();useSearch(l,I,p,null,null,k,S);const handleSearchTermChange=function(){P(arguments.length<=1?void 0:arguments[1])},handleClick=e=>{m&&U(!1),p&&p(),P(null),h||b(e)},Item=e=>{let{item:a,onClick:n}=e;return t.createElement(N,{button:!0,onClick:m?n:void 0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:z.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,{classes:{root:z.bodyText}},a.description))))};Item.propTypes={item:r.shape({name:r.string,description:r.string,href:r.string}).isRequired,onClick:r.func},Item.defaultProps={onClick:null};const results=()=>{var a;if(d)return t.createElement(Loading,null);let n=c;return _&&(n=n.map(e=>({...e,priority:_(e,I)})).sort((e,t)=>e.priority>t.priority?-1:e.priority<t.priority?1:0)),x&&(n=n.slice(0,x)),(null===(a=n)||void 0===a?void 0:a.length)>0?t.createElement(L,{dense:!0},n.map(a=>t.createElement(e.Fragment,{key:a.id},h?t.createElement(s,{className:z.a,component:f.Link,to:null==a?void 0:a.href},t.createElement(Item,{item:a,onClick:()=>handleClick(a)})):t.createElement(Item,{item:a,onClick:()=>handleClick(a)}),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")};return t.createElement(t.Fragment,null,m?t.createElement(t.Fragment,null):t.createElement(Title,{text:u}),m&&C?t.createElement(o,{title:y},t.createElement(W,{disabled:T,onClick:()=>{U(!0),p()}},SearchIcon())):t.createElement(InputField,{adornment:SearchIcon(()=>U(!0)),propertyName:v,textFieldProps:{onClick:()=>{T||g&&(U(!0),p())},disabled:T},value:m?R:I,label:y,placeholder:w,onChange:m&&!g?E:m&&g?()=>U(!0):handleSearchTermChange}),A&&t.createElement("div",{className:z.clearButtonInline},t.createElement(o,{title:D},t.createElement(n,{variant:"outlined",onClick:q,disabled:T,className:z.clearButton},"X"))),m?t.createElement(V,{"data-testid":"modal",open:O,onClose:()=>U(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:z.pullRight,"aria-label":"Close",onClick:()=>U(!1)},t.createElement(H,null)),t.createElement("div",{className:z.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},u),t.createElement(InputField,{propertyName:v,adornment:SearchIcon(),textFieldProps:{autoFocus:!0},placeholder:w,onChange:handleSearchTermChange,value:I}),d?t.createElement(Loading,null):results()))):results())}const ze={id:r.oneOfType([r.string,r.number]),name:r.oneOfType([r.string,r.number]),description:r.string,href:r.string};Typeahead.propTypes={propertyName:r.string,items:r.arrayOf(r.shape(ze)).isRequired,title:r.string,loading:r.bool,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,modal:r.bool,openModalOnClick:r.bool,handleFieldChange:r.func,links:r.bool,label:r.string,onSelect:r.func,value:r.string,placeholder:r.string,disabled:r.bool,minimumSearchTermLength:r.number,debounce:r.number,searchButtonOnly:r.bool,priorityFunction:r.func,resultLimit:r.number,clearable:r.bool,clearTooltipText:r.string,onClear:r.func},Typeahead.defaultProps={title:"",loading:!1,modal:!1,openModalOnClick:!0,links:!0,label:null,onSelect:null,value:null,placeholder:"Search by id or by description",disabled:!1,minimumSearchTermLength:1,debounce:500,searchButtonOnly:!1,propertyName:"",priorityFunction:null,resultLimit:null,handleFieldChange:null,resultLimit:null,clearable:!1,clearTooltipText:"Clear",onClear:()=>{}};const Me=a(e=>({root:{padding:e.spacing(4)},breadcrumbs:{marginTop:e.spacing(4),marginLeft:e.spacing(4),marginRight:e.spacing(4),padding:e.spacing(2)},grid:{marginTop:e.spacing(4),width:"100%"}})),Qe={xs:4,s:6,m:8,l:10,xl:12},je={xs:4,s:3,m:2,l:1,xl:!1};function Page(a){let{children:n,history:r,width:o,requestErrors:l,showRequestErrors:i,homeUrl:s,showBreadcrumbs:c}=a;const u=Me(),{enqueueSnackbar:d}=z.useSnackbar();return e.useEffect(()=>{l&&i&&l.forEach(e=>{d("".concat(e.message," - ").concat(e.type),{variant:"error",preventDuplicate:!0})})},[l,d]),t.createElement(t.Fragment,null,t.createElement(F,{container:!0,spacing:3,className:u.grid},t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:10,className:"hide-when-printing"},c&&t.createElement(Breadcrumbs,{history:r,homeUrl:s})),t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:je[o]}),t.createElement(F,{item:!0,xs:Qe[o]},t.createElement(E,{className:u.root,square:!0},n)),t.createElement(F,{item:!0,xs:je[o]})))}Page.propTypes={children:r.node.isRequired,history:r.shape({}).isRequired,width:r.oneOf(["xs","s","m","l","xl"]),showRequestErrors:r.bool,requestErrors:r.arrayOf(r.shape({})),homeUrl:r.string,showBreadcrumbs:r.bool},Page.defaultProps={width:"l",showRequestErrors:!1,requestErrors:[],homeUrl:null,showBreadcrumbs:!0};function EntityList(a){let{title:n,entityList:r,entityId:o,descriptionFieldName:l,hasExternalLinks:s}=a;const c=s?"a":f.Link;return t.createElement(e.Fragment,null,t.createElement(Title,{text:n}),t.createElement(L,null,r.map(e=>t.createElement(N,{key:e[o],button:!0,component:c,to:e.href,href:e.href},t.createElement(i,{color:"primary",variant:"subtitle2"},((e,t,a)=>a?"".concat(e[t]," - ").concat(e[a]):e[t])(e,o,l))))))}EntityList.propTypes={title:r.string,entityId:r.string.isRequired,entityList:r.arrayOf(r.shape({})).isRequired,descriptionFieldName:r.string,hasExternalLinks:r.bool},EntityList.defaultProps={descriptionFieldName:null,title:"",hasExternalLinks:!1};const CreateButton=e=>{let{createUrl:a,classes:r,disabled:o}=e;return t.createElement(f.Link,{to:a},t.createElement(n,{color:"primary",variant:"outlined",className:r.root,disabled:o},"Create"))};CreateButton.propTypes={createUrl:r.string.isRequired,classes:r.shape({}).isRequired,disabled:r.bool},CreateButton.defaultProps={disabled:!1};var Ge=I(()=>({root:{float:"right"}}))(CreateButton);class OnOffSwitch extends t.Component{change(){const{onChange:e,propertyName:t,value:a}=this.props;e(t,!a)}render(){const{value:e,label:a,disabled:n}=this.props;return t.createElement(D,{control:t.createElement(M,{checked:e,onChange:()=>this.change(),value:e,color:"primary",disabled:n}),label:a})}}OnOffSwitch.propTypes={value:r.bool,disabled:r.bool,label:r.string,onChange:r.func.isRequired,propertyName:r.string.isRequired},OnOffSwitch.defaultProps={value:!1,disabled:!1,label:""};const Ye=a(e=>({root:{backgroundColor:e.palette.primary.main}}));function SnackbarMessage(e){let{message:a,visible:n,onClose:r,timeOut:o}=e;const l=Ye();return t.createElement(Q,{anchorOrigin:{vertical:"bottom",horizontal:"left"},ContentProps:{classes:{root:l.root}},open:n,autoHideDuration:o,onClose:()=>r(!1),message:a,action:[t.createElement(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>r(!1)},t.createElement(H,null))]})}SnackbarMessage.propTypes={classes:r.shape({}),message:r.string.isRequired,timeOut:r.number,visible:r.bool,onClose:r.func.isRequired},SnackbarMessage.defaultProps={classes:{},timeOut:3e3,visible:!1};const Ke=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Je=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DatePicker(e){let{value:a,minDate:n,maxDate:r,label:o,onChange:l,required:i,disabled:s}=e;const c=Je(),u=Ke();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:u.root},required:i},o),t.createElement(j.KeyboardDatePicker,{allowKeyboardControl:!0,margin:"dense",inputVariant:"outlined",autoOk:!0,format:"DD/MM/YYYY",value:a,minDate:n,maxDate:r,onChange:l,classes:c,disabled:s,className:c.root,InputAdornmentProps:{className:c.root},InputProps:{classes:{disabled:c.disabled}}}))}DatePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,required:r.bool,value:r.oneOfType([r.shape({}),r.string]),disabled:r.bool,onChange:r.func},DatePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}};const Xe=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Ze=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DateTimePicker(a){let{label:n,value:r,onChange:o,minDate:l,maxDate:i,required:s,disabled:c}=a;const u=Ze(),d=Xe();return t.createElement(e.Fragment,null,t.createElement(A,{classes:{root:d.root},required:s},n),t.createElement(j.KeyboardDateTimePicker,{allowKeyboardControl:!0,autoOk:!0,margin:"dense",inputVariant:"outlined",ampm:!1,value:r,minDate:l,maxDate:i,onChange:o,classes:u,className:u.root,disabled:c,InputAdornmentProps:{className:u.root},InputProps:{classes:{disabled:u.disabled}},format:"DD/MM/YYYY HH:mm"}))}function SearchInputField(e){let{autoFocus:a,...n}=e;return t.createElement(InputField,_extends({adornment:SearchIcon(),autoFocus:a},n))}DateTimePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,onChange:r.func,required:r.bool,value:r.string,disabled:r.bool},DateTimePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}},SearchInputField.propTypes={autoFocus:r.bool},SearchInputField.defaultProps={autoFocus:!1};const $e={getHref:(e,t)=>{if(e&&e.links&&e.links.length>0){const a=e.links.find(e=>e.rel===t);return a?a.href:null}return null},getSelfHref:e=>$e.getHref(e,"self"),sortList:e=>e.slice().sort((e,t)=>e<t?-1:e>t?1:0),sortEntityList:(e,t)=>e.slice().sort((e,a)=>e[t]<a[t]?-1:e[t]>a[t]?1:0)},et=a(e=>({root:{flexShrink:0,color:e.palette.text.secondary,marginLeft:e.spacing(2),direction:e.direction}}));function TablePaginationActions(e){let{count:a,page:n,rowsPerPage:r,onChangePage:o}=e;const l=et();return t.createElement("div",{className:l.root},t.createElement(W,{onClick:function handleFirstPageButtonClick(e){o(e,0)},disabled:0===n,"aria-label":"First Page"},"rtl"===l.direction?t.createElement(ee,null):t.createElement(X,null)),t.createElement(W,{onClick:function handleBackButtonClick(e){o(e,n-1)},disabled:0===n,"aria-label":"Previous Page"},"rtl"===l.direction?t.createElement($,null):t.createElement(Z,null)),t.createElement(W,{onClick:function handleNextButtonClick(e){o(e,n+1)},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Next Page"},"rtl"===l.direction?t.createElement(Z,null):t.createElement($,null)),t.createElement(W,{onClick:function handleLastPageButtonClick(e){o(e,Math.max(0,Math.ceil(a/r)-1))},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Last Page"},"rtl"===l.direction?t.createElement(X,null):t.createElement(ee,null)))}TablePaginationActions.propTypes={count:r.number.isRequired,onChangePage:r.func.isRequired,page:r.number.isRequired,rowsPerPage:r.number.isRequired};const tt=a(e=>({link:{"&:hover":{cursor:"pointer"}},button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},exandedRow:{background:e.palette.grey[100]},expandedTitleText:{fontWeight:e.typography.fontWeightBold}}));function PaginatedTable(a){let{sortable:r,handleRowLinkClick:o,expandable:l,loading:s,columns:c,rows:E,pageOptions:h,setPageOptions:y,totalItemCount:f}=a;const[b,R]=e.useState(),w=tt();return t.createElement(u,{size:"small"},t.createElement(m,null,t.createElement(g,null,Object.keys(c).map(e=>r?t.createElement(p,{key:e,sortDirection:h.orderBy===e&&h.orderAscending?"asc":"desc"},t.createElement(Y,{active:h.orderBy===e,direction:h.orderAscending?"asc":"desc",onClick:()=>{return t=e,void y(e=>({...e,orderBy:t,orderAscending:!e.orderAscending}));var t}},c[e])):t.createElement(p,{key:e},c[e])),l&&t.createElement(p,null,"Actions"))),s?t.createElement(d,null,t.createElement(p,{colspan:Object.keyscolumns().length+1},t.createElement(J,null))," "):t.createElement(e.Fragment,null,t.createElement(d,null,E.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(g,{key:a.id,className:w.link,hover:!0,onClick:()=>{return l?(e=a.id,R(b===e?null:e)):o($e.getSelfHref(a));var e}},Object.keys(a).filter(e=>(e=>"elements"!==e&&"links"!==e&&"href"!==e&&"id"!==e)(e)).map(e=>t.createElement(p,{key:e,component:"th",scope:"row"},a[e]||"-")),l&&t.createElement(p,null,t.createElement(n,{classes:{root:w.button},key:$e.getSelfHref(a),onClick:()=>o($e.getSelfHref(a)),size:"small",variant:"outlined",color:"primary"},t.createElement(K,{fontSize:"small"})))),l&&b===a.id&&a.elements&&t.createElement(e.Fragment,null,a.elements.map(e=>t.createElement(g,{colSpan:Object.keys(c).length+1,key:e.id},Object.keys(e).filter(e=>"id"!==e).map(a=>t.createElement(p,{key:a,classes:{root:w.exandedRow},size:"small"},t.createElement(i,{classes:{root:w.expandedTitleText},variant:"caption"},a,":"),t.createElement(i,{variant:"caption"}," ".concat(e[a]))))))))),f&&t.createElement(g,null,t.createElement(G,{rowsPerPageOptions:[5,10,25,50],count:f,rowsPerPage:h.rowsPerPage,page:h.currentPage,SelectProps:{native:!0},onChangePage:(e,t)=>{y(e=>({...e,currentPage:t}))},onChangeRowsPerPage:e=>{const{value:t}=e.target;y(e=>({...e,rowsPerPage:parseInt(t,10),currentPage:0}))},ActionsComponent:TablePaginationActions})))))}PaginatedTable.propTypes={sortable:r.bool,handleRowLinkClick:r.func.isRequired,expandable:r.bool,loading:r.bool,columns:r.shape({}).isRequired,rows:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired,elements:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired}))})),pageOptions:r.shape({orderBy:r.string,orderAscending:r.bool,currentPage:r.number,rowsPerPage:r.number}).isRequired,setPageOptions:r.func.isRequired,totalItemCount:r.number},PaginatedTable.defaultProps={rows:[],sortable:!1,expandable:!1,loading:!1,totalItemCount:0};const at=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)}}));function TypeaheadTable(a){let{fetchItems:n,table:r,columnNames:o,title:l,loading:s,clearSearch:c,history:E,placeholder:h,label:y,debounce:f,searchOptions:b,queryString:R,minimumSearchTermLength:w,modal:T,links:S,disabled:k,onSelect:C,value:v}=a;const[_,x]=e.useState(),[A,D]=e.useState(!1);useSearch(n,_,c,R,b,f,w);const q=at(),handleSearchTermChange=(e,t)=>{x(t)},I={cursor:"pointer",textDecoration:"none"},results=()=>r.rows.length>0?t.createElement(u,null,t.createElement(m,null,t.createElement(g,null,o.map(e=>t.createElement(p,{key:e},e)))),t.createElement(d,null,r.rows&&r.rows.map(e=>t.createElement(g,{style:I,onClick:()=>{return S?E.push($e.getSelfHref(e)):(t=e,T&&D(!1),c&&c(),x(null),void(S||C(t)));var t},hover:!0,key:e.id},e.values.map(e=>t.createElement(p,{key:e.id,component:"th",scope:"row"},e.value)))))):t.createElement(i,null,"No matching items"),renderTypeahead=()=>t.createElement(t.Fragment,null,l&&t.createElement(Title,{text:l}),t.createElement(SearchInputField,{placeholder:h,onChange:handleSearchTermChange,type:"search",label:y,variant:"outlined",value:_,textFieldProps:{autoFocus:!0}}),s?t.createElement(Loading,null):results());return T?t.createElement(t.Fragment,null,t.createElement(InputField,{adornment:SearchIcon(),textFieldProps:{onClick:()=>{k||(D(!0),c())},disabled:k},value:T?v:_,label:y,placeholder:h,onChange:T?()=>D(!0):handleSearchTermChange}),t.createElement(V,{"data-testid":"modal",open:A,onClose:()=>D(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:q.pullRight,"aria-label":"Close",onClick:()=>D(!1)},t.createElement(H,null)),t.createElement("div",{className:q.dialog},renderTypeahead())))):t.createElement(t.Fragment,null," ",renderTypeahead())}TypeaheadTable.propTypes={table:r.shape({rows:r.arrayOf(r.shape({Id:r.oneOfType([r.string,r.number]),values:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number]),value:r.string}))})).isRequired}),columnNames:r.arrayOf(r.string).isRequired,history:r.shape({push:r.func}).isRequired,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,title:r.string,loading:r.bool,placeholder:r.string,label:r.string,debounce:r.number,minimumSearchTermLength:r.number,queryString:r.string,searchOptions:r.string,modal:r.bool,links:r.bool,onSelect:r.func,disabled:r.bool,value:r.string},TypeaheadTable.defaultProps={title:null,loading:!1,placeholder:"",table:{rows:[]},label:"",debounce:500,minimumSearchTermLength:1,queryString:"",searchOptions:"",modal:!1,links:!0,onSelect:null,disabled:!1,value:null};const nt=a(e=>({pullRight:{float:"right"},a:{textDecoration:"none"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},nameText:{fontWeight:e.typography.fontWeightMedium},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function TypeaheadDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,onSelect:u,clearSearch:d,debounce:p,minimumSearchTermLength:m}=a;const[g,E]=e.useState(),[h,y]=e.useState(!1),f=nt();useSearch(s,g,d,null,null,p,m);const handleClose=()=>{y(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{y(!0)},variant:"outlined",className:f.button},t.createElement(te,null))),t.createElement(V,{open:h,onClose:handleClose,fullWidth:!0,maxWidth:"md",disableAutoFocus:!0},t.createElement("div",null,t.createElement(W,{className:f.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:f.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(SearchInputField,{placeholder:"Search by id or description",onChange:function(){E(arguments.length<=1?void 0:arguments[1])},label:"",value:g,autoFocus:!0}),l?t.createElement(Loading,null):c.length>0?t.createElement(L,null,c.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(N,{onClick:()=>{return e=a,y(!1),d(),E(null),void u(e);var e},button:!0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:f.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,null,a.description)))),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")))))}TypeaheadDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onSelect:r.func.isRequired,clearSearch:r.func.isRequired,debounce:r.number,minimumSearchTermLength:r.number},TypeaheadDialog.defaultProps={title:"Start typing to search",loading:!1,debounce:500,minimumSearchTermLength:1};const successPayload=e=>async(t,a,n)=>({data:await n.json(),item:e}),requested=(e,t)=>({type:e["REQUEST_".concat(t)],payload:{}}),requestedState=(e,t)=>({type:e["REQUEST_APPLICATION_STATE_".concat(t)],payload:{}}),requestAdd=(e,t)=>({type:e["REQUEST_ADD_".concat(t)],payload:{}}),requestUpdate=(e,t)=>({type:e["REQUEST_UPDATE_".concat(t)],payload:{}}),requestDelete=(e,t)=>({type:e["REQUEST_DELETE_".concat(t)],payload:{}}),receiveUpdated=(e,t,a)=>({type:e["RECEIVE_UPDATED_".concat(t)],payload:successPayload(a)}),received=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receivedState=(e,t,a)=>({type:e["RECEIVE_APPLICATION_STATE_".concat(t)],payload:successPayload(a)}),receiveAdded=(e,t,a)=>({type:e["RECEIVE_NEW_".concat(t)],payload:successPayload(a)}),receivedProcess=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receiveDeleted=(e,t,a)=>({type:e["RECEIVE_DELETED_".concat(t)],payload:successPayload(a)}),requestSearch=(e,t)=>({type:e["REQUEST_SEARCH_".concat(t)],payload:{}}),requestReport=(e,t,a)=>({type:e["REQUEST_".concat(t)],payload:{options:a}}),receiveSearch=(e,t,a)=>({type:e["RECEIVE_SEARCH_".concat(t)],payload:successPayload(a)}),error=(e,t,a)=>({type:e["FETCH_".concat(t,"_ERROR")],payload:async(e,t,n)=>n?{error:{status:n.status,statusText:"Error - ".concat(n.status," ").concat(n.statusText),details:await n.json(),item:a}}:"Network request failed"});const receiveTypes=e=>["RECEIVE_".concat(e),"RECEIVE_NEW_".concat(e),"RECEIVE_UPDATED_".concat(e)],fetchNews=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/notifications"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_NEWS",payload:{}},{type:"RECEIVE_NEWS",payload:async(e,t,a)=>({news:await a.json(),item:"news"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}}),markNotificationSeen=e=>({type:"MARK_NOTIFICATION_SEEN",title:e.title}),fetchMenu=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/intranet/menu-no-auth"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_MENU",payload:{}},{type:"RECEIVE_MENU",payload:async(e,t,a)=>({menu:await a.json(),item:"menu"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}});function menu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,data:null},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_MENU":return{...e,loading:!0,data:null};case"RECEIVE_MENU":return{...e,loading:!1,data:t.payload.menu};default:return e}}function news(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,seen:[],unseen:[]},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_NEWS":return{...e,loading:!0};case"RECEIVE_NEWS":return{...e,loading:!1,unseen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>!localStorage.getItem(e.title)):[],seen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>localStorage.getItem(e.title)):[]};case"MARK_NOTIFICATION_SEEN":return{...e,seen:[...e.seen,...e.unseen.filter(e=>e.title===t.title)],unseen:e.unseen.filter(e=>e.title!==t.title)};default:return e}}const rt={getSections:e=>{const{menu:t}=e;return t&&t.data?t.data.sections:null},getMenuSection:(e,t)=>{const a=rt.getSections(e);if(a){const e=a.filter(e=>e.id===t),{columns:n}=e[0];return n}return[]},getMyStuff:e=>{const{menu:t}=e;return t&&t.data?t.data.myStuff:null},getMenuLoading:e=>!!e&&e.loading},ot={getSeenNotifications:e=>{const{news:t}=e;return t?t.seen:null},getUnseenNotifications:e=>{const{news:t}=e;return t?t.unseen:null},getNewsLoading:e=>{const{news:t}=e;return t.loading}},getUsername=e=>{const{oidc:t}=e;return t.user?t.user.profile.preferred_username:null},initialiseOnMount=a=>function HOC(n){const{initialise:r,itemId:o}=n;return e.useEffect(()=>{r&&o?r({itemId:o}):r&&r(n)},[r,o]),t.createElement(a,n)},lt={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1}};function Panel(e){let{section:a,classes:r,close:o}=e;const{columns:l}=a;return t.createElement(E,{classes:{root:r.paper}},t.createElement(n,{onClick:o,color:"secondary",style:lt.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0,justifyContent:"flex-start"},l.map((e,a)=>t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,key:a},e.categories.filter(e=>e.items.filter(e=>e.showInMenu).length>0).map(e=>t.createElement(L,{key:e.title},t.createElement(N,null,t.createElement(i,{variant:"button",gutterBottom:!0},e.title.replace("&","&"))),e.items.map(e=>t.createElement("div",{key:e.href},e.showInMenu&&t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:r.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:r.menuItems},color:"primary"},e.title))))))))),t.createElement(F,{item:!0,xs:12},t.createElement("a",{href:"/".concat(a.id)},t.createElement(n,{onClick:o,color:"primary",style:{marginRight:"10px",marginBottom:"10px",float:"right"}},"SHOW ALL OPTIONS...")," "))))}Panel.propTypes={classes:r.shape({}).isRequired,section:r.shape({}).isRequired,close:r.func.isRequired};var it=w(lt)(Panel);const st={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1},searchInputField:{float:"right"}};function SearchPanel(a){let{menu:r,classes:o,close:l}=a;const[s,c]=e.useState(),u=r.map(e=>e.columns).flat().map(e=>e.categories).flat().map(e=>e.items).flat(),d=Object.values(u.reduce((e,t)=>e[t.href]?e:{...e,[t.href]:t},{}));return t.createElement(E,{classes:{root:o.paper}},t.createElement(n,{onClick:l,color:"secondary",style:st.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0},t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,"justify-content":"flex-end"},t.createElement(SearchInputField,{value:s,onChange:(e,t)=>{c(t)},textFieldProps:{autoFocus:!0},placeholder:"start typing..."}),(null==s?void 0:s.length)>1&&d.filter(e=>e.title.toLowerCase().includes(s.toLowerCase())||e.href.toLowerCase().includes(s.toLowerCase())).map(e=>t.createElement(t.Fragment,{key:e.href},t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:o.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:o.menuItems},color:"primary"},e.title))))))))}SearchPanel.propTypes={classes:r.shape({listItemText:r.string,menuItems:r.string,paper:r.string}).isRequired,close:r.func.isRequired,menu:r.arrayOf(r.shape({})).isRequired};var ct=w(st)(SearchPanel);function Navigation(a){let{classes:r,sections:o,loading:l,username:s,myStuff:c,seenNotifications:u,unseenNotifications:d,markNotificationSeen:p,authRoot:m}=a;const[g,E]=e.useState(!1),[h,y]=e.useState(),{enqueueSnackbar:f,closeSnackbar:b}=z.useSnackbar();if(o){const e=o.map(e=>e.id),handleClick=e=>{y(e.currentTarget)},handleClose=()=>{y()},handleSignOut=()=>{window.location.assign("".concat(m,"account/logout"))},actions=(e,a)=>t.createElement(t.Fragment,null,t.createElement(n,{variant:"contained",onClick:()=>{window.location=$e.getSelfHref(a)}},"View"),t.createElement(n,{onClick:()=>{b(e),localStorage.setItem(a.title,a.content),p(a)}},"Dismiss")),noNotifications=()=>!u&&!d||u.length+d.length===0,queueNotifications=()=>{noNotifications()?f("No notifications to show!",{anchorOrigin:{vertical:"bottom",horizontal:"right"},variant:"info",preventDuplicate:!0}):d.concat(u).forEach((e,t)=>{setTimeout(()=>{f("".concat(e.title," ").concat(e.content),{anchorOrigin:{vertical:"bottom",horizontal:"right"},ContentProps:{classes:{root:localStorage.getItem(e.title)?r.snackbarSeen:r.snackbarNew}},action:t=>actions(t,e),preventDuplicate:!0})},200*t)})};return t.createElement(t.Fragment,null,t.createElement(ce,{onClickAway:()=>E(!1)},t.createElement("div",{className:"hide-when-printing"},t.createElement("div",{className:r.root},o&&!l&&t.createElement(se,{position:"static",classes:{root:r.appBar}},t.createElement(pe,{classes:{gutters:r.toolbar}},t.createElement(F,{container:!0,alignItems:"center",justifyContent:"space-between",spacing:3,classes:{container:r.container}},t.createElement(F,{item:!0,xs:9},t.createElement(le,{classes:{root:r.tabs},value:g,onChange:(e,t)=>{E(g!==t&&t)},scrollButtons:"auto",variant:"scrollable",indicatorColor:"primary",textColor:"primary"},o.map(e=>t.createElement(ie,{id:e.id,key:e.id,classes:{root:r.tab},label:t.createElement("span",{className:r.tabLabel},e.title),selected:!1})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(ge,{className:r.icons,"aria-owns":h?"simple-menu":void 0,onClick:handleClick,id:o.length,key:o.length}))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(me,{badgeContent:d?d.length:0,color:"primary",variant:"dot"},t.createElement(Ee,{className:r.icons,onClick:queueNotifications})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(te,{className:r.icons,onClick:()=>E(o.length)}))),t.createElement(ue,{id:"simple-menu",anchorEl:h,open:Boolean(h),onClose:handleClose},t.createElement(de,{onClick:handleClose},s),s&&c.groups.map(e=>t.createElement("span",{key:e.items[0].href},t.createElement("a",{href:e.items[0].href},t.createElement(de,{onClick:handleClose},e.items[0].title)))),t.createElement(de,{onClick:handleSignOut},"Sign Out"))))),e.map((e,a)=>g===a&&t.createElement(it,{key:e,section:o.find(t=>t.id===e),id:e,style:{align:"right"},anchorEl:e.id,close:()=>E(!1)})),g===o.length&&t.createElement(ct,{menu:o,close:()=>E(!1)})))))}return t.createElement("div",{className:r.root},t.createElement(se,{position:"static",color:"default"},t.createElement(pe,{classes:{gutters:r.toolbar}})))}Navigation.propTypes={classes:r.shape({snackbarNew:r.string,snackbarSeen:r.string,root:r.string,tabs:r.string,tab:r.string,tabLabel:r.string,toolbar:r.string,container:r.string,appBar:r.string,icons:r.string}).isRequired,sections:r.arrayOf(r.shape({})),history:r.shape({}).isRequired,loading:r.bool,username:r.string,myStuff:r.shape({groups:r.arrayOf(r.shape({}))}),seenNotifications:r.arrayOf(r.shape({})),unseenNotifications:r.arrayOf(r.shape({})),markNotificationSeen:r.func.isRequired,authRoot:r.string.isRequired},Navigation.defaultProps={sections:null,myStuff:null,seenNotifications:[],unseenNotifications:[],loading:!1,username:""};var ut=w(e=>({root:{position:"absolute",width:"100%",top:0,zIndex:10},tabLabel:{fontSize:e.typography.fontSize,color:e.palette.grey[200]},snackbarNew:{background:e.palette.primary.dark,width:"800px"},snackbarSeen:{width:"800px"},panel:{position:"relative"},menuButton:{marginLeft:-12,marginRight:20},tab:{...e.mixins.toolbar,minWidth:"100px"},toolbar:{paddingLeft:0,paddingRight:0},tabs:{...e.mixins.toolbar,paddingLeft:40},container:{width:"100%"},appBar:{backgroundColor:e.palette.grey[800]},icons:{cursor:"pointer",color:"white"}}))(Navigation);var dt={appRoot:"",...window.APPLICATION_SETTINGS};const pt={initialise:e=>e=>{e(fetchMenu(0,dt.proxyRoot)),e(fetchNews(0,dt.proxyRoot))},markNotificationSeen:markNotificationSeen};var mt=oe.withRouter(re.connect(e=>({sections:rt.getSections(e),myStuff:rt.getMyStuff(e),username:getUsername(e),loading:rt.getMenuLoading(e),seenNotifications:ot.getSeenNotifications(e),unseenNotifications:ot.getUnseenNotifications(e),authRoot:dt.authorityUri}),pt)(initialiseOnMount(ut)));const getItemError=(e,t)=>{const{errors:a}=e;return a&&a.itemErrors&&a.itemErrors.find(e=>e.item&&e.item===t)||null},gt=T.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?{...t,maxHeight:e.maxHeight}:t}}));function SelectedItemsList(e){let{items:a,removeItem:n,title:r,maxHeight:o}=e;const l=gt({maxHeight:o});return t.createElement(t.Fragment,null,t.createElement(i,{variant:"body1"},r),t.createElement(L,{dense:!0,className:l.list},a.map(e=>t.createElement(t.Fragment,null,t.createElement(N,{key:e.id?e.id:e},t.createElement(ye,{primary:e.displayText?e.displayText:e}),n?t.createElement(he,null,t.createElement(W,{edge:"end","aria-label":"delete",onClick:()=>n(e.Id?e.Id:e)},t.createElement(fe,null))):""),t.createElement(B,null)))))}SelectedItemsList.propTypes={items:r.arrayOf(r.oneOfType([r.string,r.shape({})])),removeItem:r.func,title:r.string,maxHeight:r.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const Et=T.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),ht=T.createTheme({palette:{primary:{main:"#FF9494"}}}),yt=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,clearSearch:u,onAccept:d}=a;const[p,m]=e.useState(),[g,E]=e.useState(!1),h=yt();useSearch(s,p,u);const handleClose=()=>{E(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{E(!0)},variant:"outlined",className:h.button},t.createElement(K,null))),t.createElement(V,{open:g,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:h.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:h.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(Re,{theme:!p||l?Oe:1===c.length?Et:ht},t.createElement(InputField,{onChange:function(){m(arguments.length<=1?void 0:arguments[1])},label:"",value:p})),1===c.length&&t.createElement(Re,{theme:Et},t.createElement(W,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void E(!1);var e}},t.createElement(be,{color:"primary"}))),p&&t.createElement(W,{"aria-label":"Close",onClick:()=>{u(),m("")}},t.createElement(H,null)),l&&t.createElement(Loading,null)))))}function TableWithInlineEditing(a){let{content:r,columnsInfo:l,updateContent:i,allowedToEdit:s,allowedToCreate:c,allowedToDelete:E}=a;const[h,y]=e.useState(""),handleRowChange=(e,t,a)=>{var n,o;const s={...r[a],[e]:t},c=null===(n=(o=l.find(t=>t.key===e)).updateValues)||void 0===n?void 0:n.call(o,t);if(c)for(let e=0;e<c.length;e+=1)s[c[e].propertyName]=c[e].value;i(r.slice(0,a).concat(s).concat(r.slice(a+1,r.length+1)))},handleRemoveRow=e=>{i(r.slice(0,e).concat(r.slice(e+1,r.length+1)))},switchToEditingDifferentCell=e=>{y(e)},clearEditingCell=()=>{y("")};return t.createElement(u,null,t.createElement(m,{key:"headers",onClick:clearEditingCell},t.createElement(g,null,l.map(e=>t.createElement(p,{key:e.key},e.title)),E&&t.createElement(p,{key:"Deleteplaceholdercell"}))),t.createElement(d,null,r.map((e,a)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:a,updateField:handleRowChange,columnsInfo:l,currentlyEditing:h,changeCell:switchToEditingDifferentCell,allowedToEdit:s,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:E})),c&&t.createElement(g,null,t.createElement(p,null,t.createElement(o,{title:"Add new row","aria-label":"add"},t.createElement(n,{onClick:()=>{let e={id:(new Date).getTime()};l.forEach(t=>{e={...e,[t.key]:null}}),i(r.concat(e))}},t.createElement(we,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onAccept:r.func.isRequired,clearSearch:r.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number])})),updateContent:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number])})).isRequired,allowedToEdit:r.bool.isRequired,allowedToCreate:r.bool,allowedToDelete:r.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=a=>{let{rowContent:r,rowIndex:l,updateField:i,columnsInfo:s,currentlyEditing:u,changeCell:d,allowedToEdit:m,clearEditingCell:E,removeRow:h,allowedToDelete:y}=a;const f=c.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{i(e,t,l)};return t.createElement(g,{key:r.id},r!=={}&&s&&(m?t.createElement(t.Fragment,null,s.map((a,n)=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,{onClick:()=>d("".concat(l).concat(a.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?E():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(l).concat(s[t-1].key):"".concat(l-1).concat(s[s.length-1].key)):"Tab"===e.key&&(t<s.length-1?d("".concat(l).concat(s[t+1].key)):d("".concat(l+1).concat(s[0].key)))})(e,n),className:f.pointer},u!=="".concat(l).concat(a.key)?t.createElement("span",{id:"outer".concat(l,"-").concat(n),name:a.key},r[a.key]):t.createElement("div",{id:"inner".concat(l,"-").concat(n)},"dropdown"===a.type?t.createElement(Dropdown,{onChange:handleCellChange,items:a.options,value:r[a.key],disabled:a.notEditable,required:a.required,propertyName:a.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(InputField,{type:a.type,value:r[a.key],disabled:a.notEditable,required:a.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:a.key}))))),y&&t.createElement(p,{key:"DeleteIcon"},t.createElement(o,{title:"Delete row","aria-label":"add"},t.createElement(n,{onClick:()=>{h(l)}},t.createElement(fe,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,s.map(a=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,null,t.createElement("span",{name:a.key,className:f.notClickable},r[a.key])))))))};function cloneDate(e){return O.isMoment(e)?e.clone():O(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:r.shape({id:r.oneOfType([r.string,r.number])}),rowIndex:r.number.isRequired,updateField:r.func.isRequired,currentlyEditing:r.string.isRequired,changeCell:r.func.isRequired,allowedToEdit:r.bool.isRequired,clearEditingCell:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number]),notEditable:r.bool,updateValues:r.func})).isRequired,removeRow:r.func.isRequired,allowedToDelete:r.bool.isRequired},Row.defaultProps={rowContent:{}};const ft=c.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker(e){let{selectedDate:a,setWeekStartDate:n,propertyName:r,label:o,disabled:l,required:i}=e;const s=ft();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:s.label},required:i},o),t.createElement(j.KeyboardDatePicker,{autoOk:!0,disabled:l,margin:"dense",inputVariant:"outlined",value:a?O(a):null,onChange:e=>{n(r,getWeekStartDate(e))},renderDay:(e,a,n)=>{const r=getWeekStartDate(a),o=getWeekEndDate(a),l=e.isBetween(r,o,"days","[]"),i=e.isSame(r,"day"),c=e.isSame(o,"day"),u=Te({[s.highlight]:l,[s.firstHighlight]:i,[s.endHighlight]:c}),d=Te(s.day,{[s.nonCurrentMonthDay]:!n,[s.highlightNonCurrentMonthDay]:!n&&l});return t.createElement("div",{className:u},t.createElement(U.IconButton,{className:d},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:r.oneOfType([r.shape({}),r.string]),setWeekStartDate:r.func.isRequired,propertyName:r.string,label:r.string,disabled:r.bool,required:r.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var a=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===a&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const bt={minWidth:"120px"};function EditableTableCell(a){var n;let{column:r,item:l,editable:i,editing:s,isNewRow:c,handleValueChange:u,...d}=a;const Content=()=>s&&r.editable&&i||c&&s&&r.required?function inputComponentFactory(e,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4?arguments[4]:void 0;switch(a.type){case"text":return t.createElement(InputField,{value:e[a.id],onChange:n,fullWidth:!0,rows:r,propertyName:a.id,required:a.required});case"number":return t.createElement(InputField,{value:e[a.id],type:"number",onChange:n,propertyName:a.id,required:a.required});case"date":return t.createElement(DatePicker,{value:e[a.id]||null,onChange:e=>n(a.id,e),required:a.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[a.id]||null,setWeekStartDate:n,propertyName:a.id,required:a.required});case"search":return t.createElement(Typeahead,{clearSearch:()=>a.clearSearch,fetchItems:a.search,items:a.searchResults,links:!1,loading:a.searchLoading,modal:!0,onSelect:t=>a.selectSearchResult(a.id,t,e),propertyName:a.id,title:a.searchTitle,value:e[a.id],required:a.required,minimumSearchTermLength:a.minimumSearchTermLength});case"dropdown":return t.createElement(Dropdown,{fullWidth:!0,value:e[a.id],onChange:n,items:a.options,propertyName:a.id,required:a.required});case"component":return t.createElement(a.component,_extends({value:e[a.id],onChange:e=>n(a.id,e),required:a.required},o));default:return""}}(l,r,u,r.textFieldRows,d):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?O(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,r),m=null!==(n=r.style)&&void 0!==n&&n.body?{...bt,...r.style.body}:bt;return r.tooltip?t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(o,{title:r.tooltip(l)||""},t.createElement(p,{id:r.type,key:"".concat(null==r?void 0:r.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(p,{id:r.type,style:m},Content()))}EditableTableCell.propTypes={column:r.shape({tooltip:r.func,id:r.oneOfType([r.number,r.string]),editable:r.bool,type:r.string,required:r.bool,textFieldRows:r.number,style:r.shape({body:r.shape({})})}).isRequired,item:r.shape({id:r.oneOfType([r.string,r.number])}).isRequired,editable:r.bool,editing:r.bool,isNewRow:r.bool,handleValueChange:r.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const Rt=r.shape({id:r.oneOfType([r.number,r.string]).isRequired,type:r.string.isRequired,component:r.func,editable:r.bool,options:r.arrayOf(r.oneOfType([r.shape({}),r.string,r.number])),required:r.bool,searchLoading:r.bool,searchResults:r.arrayOf(r.shape({})),searchTitle:r.string,tooltip:r.oneOfType([r.string,r.func]),clearSearch:r.func,closeRowOnClickAway:r.func,search:r.func,selectSearchResult:r.func,minimumSearchTermLength:r.number,textFieldRows:r.number,componentViewDisplay:r.oneOf(["value","nothing"])}),wt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?Ce.green[50]:e.toBeDeleted?Ce.red[50]:"transparent"}}));function GroupEditableTableRow(a){let{row:r,columns:l,editable:i,updateRow:s,validateRow:c,removeRow:u,isRowValid:d,resetRow:m,deleteRowPreEdit:E,handleEditClick:h,setRowToBeSaved:y,setRowToBeDeleted:f,removeRowOnDelete:b,closeRowOnClickAway:R,editOnRowClick:w,...T}=a;const[S,k]=e.useState(),C=e.useRef(),v=wt({toBeSaved:r.toBeSaved,toBeDeleted:r.toBeDeleted});e.useEffect(()=>{C.current=d},[d]),e.useEffect(()=>{if(r.editing){let e=!0;c&&(e=c(r)),l.forEach(t=>{!0!==t.required||r[t.id]||(e=!1)}),C.current&&r.id&&C.current(e,r.id),k(e)}},[c,l,r]);const handleValueChange=(e,t)=>{s(r,null,e,t)},handleEditButtonClick=()=>{h(r.id,!0)},handleDeleteClick=()=>{b||r.isNewRow?u(r.id):f(r.id,!0)},deleteButtonEnabled=()=>!r.toBeDeleted&&!r.toBeSaved;return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&R&&R&&r.editing&&h(r.id,!1)})(e)},t.createElement(g,{onClick:!r.editing&&w&&!E&&handleEditButtonClick,classes:{root:v.row}},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:r,editable:i,editing:r.editing,handleValueChange:handleValueChange},T))),i&&(r.editing?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{y(r.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:v.button},disabled:!(S&&!r.toBeDeleted&&!r.toBeSaved),"data-testid":"saveButton"},t.createElement(Se,{fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{r.isNewRow?u(r.id):m(r)},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),u&&t.createElement(p,null,t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),u&&E&&t.createElement(p,null,t.createElement(o,{title:"Remove Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function GroupEditTable(a){let{columns:r,rows:o,editable:l,updateRow:i,validateRow:s,deleteRow:c,allowNewRowCreation:h,addRow:y,tableValid:f,removeRow:b,resetRow:R,closeRowOnClickAway:w,deleteRowPreEdit:T,handleEditClick:S,setRowToBeSaved:k,setRowToBeDeleted:C,removeRowOnDelete:v,editOnRowClick:_,...x}=a;const[A,D]=e.useState([]);e.useEffect(()=>{f&&f(!A.some(e=>!e.valid))},[A,f]);const handleRemoveRow=e=>{b(e)},handleIsRowValid=(e,t)=>{A.some(e=>e.id===t)?D(A.map(a=>a.id===t?{...a,valid:e}:a)):D([...A,{id:t,valid:e}]),f&&f(!A.some(e=>!e.valid))};return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{style:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),c&&t.createElement(p,null))),t.createElement(d,null,o.map(e=>t.createElement(GroupEditableTableRow,_extends({key:e.id,row:e,columns:r,editable:l,updateRow:i,validateRow:s,removeRow:b?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:R,deleteRowPreEdit:T,handleEditClick:S,setRowToBeDeleted:C,setRowToBeSaved:k,removeRowOnDelete:v,closeRowOnClickAway:w,editOnRowClick:_},x))),l&&h&&t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>{y()},"data-testid":"addButton"},t.createElement(we,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number]),toBeDeleted:r.bool,toBeSaved:r.bool,isNewRow:r.bool}).isRequired,columns:r.arrayOf(Rt).isRequired,updateRow:r.func.isRequired,editable:r.bool,removeRow:r.func,validateRow:r.func,isRowValid:r.func,resetRow:r.func,deleteRowPreEdit:r.bool,handleEditClick:r.func,setRowToBeDeleted:r.func,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,closeRowOnClickAway:r.bool,editOnRowClick:r.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,handleEditClick:r.func.isRequired,editable:r.bool,updateRow:r.func,validateRow:r.func,deleteRow:r.func,allowNewRowCreation:r.bool,addRow:r.func,tableValid:r.func,removeRow:r.func,resetRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,setRowToBeDeleted:r.func.isRequired,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,editOnRowClick:r.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const Tt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(a){let{row:r,columns:l,saveRow:i,editable:s,isNewRow:c,removeRow:u,updateRow:d,validateRow:m,deleteRow:E,closeRowOnClickAway:h,deleteRowPreEdit:y,editOnRowClick:f,...b}=a;const[R,w]=e.useState(!1),[T,S]=e.useState({}),[k,C]=e.useState({});e.useEffect(()=>{C(r),S(r),c&&w(!0)},[r,c]);const v=Tt(),handleDeleteClick=()=>{E(k.id)},handleValueChange=(e,t)=>{d?d(k,C,e,t):C({...k,[e]:t})},handleEditButtonClick=()=>{w(!0)};return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&h&&h&&w(!1)})(e)},t.createElement(g,{onClick:!R&&f&&!y&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:k,editable:s,editing:R,isNewRow:c,handleValueChange:handleValueChange},b))),s&&(R?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{i(k)},color:"primary",variant:"contained",size:"small",classes:{root:v.button},disabled:!(()=>{let e=!0;return m&&(e=m(k)),l.forEach(t=>{!0!==t.required||k[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(be,{style:{color:Ce.grey[50]},fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{c?u(k.id):(w(!1),C(T))},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),E&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),!c&&E&&y&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function SingleEditTable(a){let{columns:r,rows:o,saveRow:l,createRow:i,editable:s,newRow:c,updateRow:h,validateRow:y,deleteRow:f,allowNewRowCreation:b,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T,newRowPosition:S,...k}=a;const[C,v]=e.useState(!1),handleRemoveRow=()=>{v(!1)},renderNewRow=()=>C?t.createElement(SingleEditableTableRow,_extends({row:c,columns:r,saveRow:i,editable:s,isNewRow:!0,updateRow:h,validateRow:y,removeRow:handleRemoveRow,editOnRowClick:T},k)):t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>v(!0),"data-testid":"addButton"},t.createElement(we,{size:"small"}))));return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),f&&t.createElement(p,null))),t.createElement(d,null,"top"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "),o.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:r,saveRow:l,editable:s,updateRow:h,validateRow:y,deleteRow:f,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T})),"bottom"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number])}).isRequired,columns:r.arrayOf(Rt).isRequired,saveRow:r.func,editable:r.bool,isNewRow:r.bool,removeRow:r.func,updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,saveRow:r.func,createRow:r.func,editable:r.bool,newRow:r.shape({}),updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeEditingOnSave:r.bool,allowNewRowCreation:r.bool,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool,newRowPosition:r.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const St={menu:menu,news:news};exports.BackButton=BackButton,exports.Breadcrumbs=Breadcrumbs,exports.CheckboxWithLabel=Ve,exports.CollectionSelectors=function CollectionSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getItems=t=>{const a=t[e];return a&&a.items?a.items:[]},this.getSearchItems=function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=t[e];return n?a?n.searchItems?n.searchItems.slice(0,a):[]:n.searchItems?n.searchItems:[]:[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getSearchLoading=t=>{const a=t[e];return a?a.searchLoading:null},this.getLinks=t=>{const a=t[e];return a&&a.links?a.links:[]},this.hasPrivilege=(e,t)=>{const a=this.getLinks(e);return!!a&&a.some(e=>e.rel===t)},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.CreateButton=Ge,exports.DatePicker=DatePicker,exports.DateTimePicker=DateTimePicker,exports.Dropdown=Dropdown,exports.EntityList=EntityList,exports.ErrorCard=Le,exports.ExportButton=ExportButton,exports.FetchApiActions=function FetchApiActions(e,t,a,n,r,o){this.fetch=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchById=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchPage=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchSortedPage=(l,i,s,c)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i,"/").concat(s,"/").concat(c),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.search=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.searchWithOptions=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l).concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.clearSearch=()=>({type:n["CLEAR_SEARCH_".concat(t)],payload:{}}),this.clearItems=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.GroupEditTable=GroupEditTable,exports.InputField=InputField,exports.ItemSelectors=function ItemSelectors(e){this.getItem=t=>{const a=t[e];return a&&a.item?a.item:null},this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getEditStatus=t=>{const a=t[e];return a?a.editStatus?a.editStatus:"view":null},this.getSnackbarVisible=t=>{const a=t[e];return a?a.snackbarVisible:null},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.ItemType=function ItemType(e,t,a){this.item=e,this.actionType=t,this.uri=a},exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.Loading=Loading,exports.MultiReportTable=MultiReportTable,exports.Navigation=mt,exports.NotFound=function NotFound(){return t.createElement(F,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(Title,{text:"Page not found"}))},exports.OnOffSwitch=OnOffSwitch,exports.Page=Page,exports.PaginatedTable=PaginatedTable,exports.PaginationSelectors=function PaginationSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getPage=t=>{const a=t[e].page;return a||null},this.getItems=t=>{const a=t[e].page.elements;return a||[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null}},exports.ProcessActions=function ProcessActions(e,t,a,n,r){this.requestProcessStart=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:o?JSON.stringify(o):"",types:[requested(n,t),receivedProcess(n,t,e),error(n,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:n["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const a=t[e];return a?a.working:null},this.getMessageVisible=t=>{const a=t[e];return a?a.messageVisible:null},this.getMessageText=t=>{const a=t[e];return a?a.messageText:null},this.getData=t=>{const a=t[e];return a?a.data:null}},exports.ReportActions=function ReportActions(e,t,a,n,r){this.fetchReport=o=>({[ae.RSAA]:{endpoint:o?"".concat(r).concat(a,"?").concat(ne.stringify(o)):"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/json"},types:[requestReport(n,t,o),received(n,t,e),error(n,t,e)]}})},exports.ReportSelectors=function ReportSelectors(e){this.getReportState=t=>t[e]||{},this.getReportData=e=>{const t=this.getReportState(e);return t.results?t.results.data:null},this.getReportLoading=e=>{const t=this.getReportState(e);return!!t.results&&t.results.loading},this.getReportOptions=e=>this.getReportState(e).options},exports.ReportTable=ReportTable,exports.SaveBackCancelButtons=SaveBackCancelButtons,exports.SearchInputField=SearchInputField,exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.SnackbarMessage=SnackbarMessage,exports.StateApiActions=function StateApiActions(e,t,a,n,r,o){this.fetchState=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(o),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[requestedState(n,t),receivedState(n,t,e),error(n,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.Title=Title,exports.Typeahead=Typeahead,exports.TypeaheadDialog=TypeaheadDialog,exports.TypeaheadTable=TypeaheadTable,exports.UpdateApiActions=function UpdateApiActions(e,t,a,n,r,o){this.fetch=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByHref=a=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByQueryString=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?").concat(l,"=").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.add=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o),types:[requestAdd(n,t),receiveAdded(n,t,e),error(n,t,e)]}}),this.update=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"PUT",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l),types:[requestUpdate(n,t),receiveUpdated(n,t,e),error(n,t,e)]}}),this.delete=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"DELETE",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):null,types:[requestDelete(n,t),receiveDeleted(n,t,e),error(n,t,e)]}}),this.reset=()=>({type:n["RESET_".concat(t)],payload:{}}),this.setEditStatus=e=>({type:n["SET_".concat(t,"_EDIT_STATUS")],payload:e}),this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.create=()=>({type:n["REQUEST_CREATE_".concat(t)],payload:{}}),this.setSnackbarVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_SNACKBAR")],payload:{}}:{type:n["HIDE_".concat(t,"_SNACKBAR")],payload:{}},this.clearItem=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ValidatedInputDialog=ValidatedInputDialog,exports.collectionStoreFactory=function collectionStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data)};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data)};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.collectionWithLinksStoreFactory=function collectionWithLinksStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[],links:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.errorTheme=Pe,exports.fetchErrorReducer=function fetchErrorReducerFactory(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{requestErrors:[],itemErrors:[]};return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,n=arguments.length>1?arguments[1]:void 0;if(n.payload){if(n.payload.error&&e[n.payload.error.item]&&n.type==="FETCH_".concat(e[n.payload.error.item].actionType,"_ERROR"))return{...a,itemErrors:[...a.itemErrors,n.payload.error]};if(n.payload.item&&e[n.payload.item]){const t=e[n.payload.item];if(receiveTypes(t.actionType).indexOf(n.type)>-1)return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)};if(n.type==="CLEAR_".concat(t.actionType,"_ERRORS"))return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)}}}return"CLEAR_ITEM_ERRORS"===n.type?{...a,itemErrors:[]}:n.error?{...a,requestErrors:[...a.requestErrors,{...n.payload,type:n.type}]}:n.error?a:{...a,requestErrors:a.requestErrors.filter(e=>e.type!==n.type)}}},exports.fetchMenu=fetchMenu,exports.fetchNews=fetchNews,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var a,n,r,o,l;return(null===(a=getItemError(e,t))||void 0===a||null===(n=a.details)||void 0===n?void 0:n.message)||(null===(r=getItemError(e,t))||void 0===r||null===(o=r.details)||void 0===o||null===(l=o.errors)||void 0===l?void 0:l[0])||null},exports.getItemErrors=e=>{const{errors:t}=e;if(!t||!t.itemErrors)return null;const a=t.itemErrors;return a.length>0?a:null},exports.getPreviousPaths=e=>{const{historyStore:t}=e;return t},exports.getRequestErrors=e=>{const{errors:t}=e;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getUsername=getUsername,exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.initialiseOnMount=initialiseOnMount,exports.itemStoreFactory=function itemStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,item:null,editStatus:"view",snackbarVisible:!1};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_ADD_".concat(e)]:return{...n,loading:!0,editStatus:"create"};case t["REQUEST_CREATE_".concat(e)]:return{...n,loading:!1,item:null,editStatus:"create"};case t["REQUEST_".concat(e)]:return{...n,item:null,loading:!0,editStatus:"view"};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["REQUEST_UPDATE_".concat(e)]:case t["REQUEST_DELETE_".concat(e)]:return{...n,loading:!0};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};case t["SET_".concat(e,"_EDIT_STATUS")]:return{...n,editStatus:r.payload};case t["RESET_".concat(e)]:return{...n,editStatus:"view"};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view"};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["RECEIVE_UPDATED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["RECEIVE_DELETED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"deleted",snackbarVisible:!0};case t["RECEIVE_NEW_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["SHOW_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!0};case t["HIDE_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return a}return n}},exports.linnTheme=Oe,exports.makeActionTypes=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n={};return n["REQUEST_".concat(e)]="REQUEST_".concat(e),n["REQUEST_APPLICATION_STATE_".concat(e)]="REQUEST_APPLICATION_STATE_".concat(e),n["RECEIVE_".concat(e)]="RECEIVE_".concat(e),n["RECEIVE_APPLICATION_STATE_".concat(e)]="RECEIVE_APPLICATION_STATE_".concat(e),n["REQUEST_SEARCH_".concat(e)]="REQUEST_SEARCH_".concat(e),n["RECEIVE_SEARCH_".concat(e)]="RECEIVE_SEARCH_".concat(e),n["CLEAR_SEARCH_".concat(e)]="CLEAR_SEARCH_".concat(e),n["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),n["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),n["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t&&(n["REQUEST_ADD_".concat(e)]="REQUEST_ADD_".concat(e),n["REQUEST_CREATE_".concat(e)]="REQUEST_CREATE_".concat(e),n["REQUEST_UPDATE_".concat(e)]="REQUEST_UPDATE_".concat(e),n["RECEIVE_UPDATED_".concat(e)]="RECEIVE_UPDATED_".concat(e),n["RESET_".concat(e)]="RESET_".concat(e),n["RECEIVE_NEW_".concat(e)]="RECEIVE_NEW_".concat(e),n["SET_".concat(e,"_EDIT_STATUS")]="SET_".concat(e,"_EDIT_STATUS"),n["SHOW_".concat(e,"_SNACKBAR")]="SHOW_".concat(e,"_SNACKBAR"),n["HIDE_".concat(e,"_SNACKBAR")]="HIDE_".concat(e,"_SNACKBAR")),a&&(n["REQUEST_DELETE_".concat(e)]="REQUEST_DELETE_".concat(e),n["RECEIVE_DELETED_".concat(e)]="RECEIVE_DELETED_".concat(e)),n},exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.makeReportActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t},exports.markNotificationSeen=markNotificationSeen,exports.menu=menu,exports.menuSelectors=rt,exports.news=news,exports.newsSelectors=ot,exports.paginationStoreFactory=function paginationStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,page:{elements:[]}};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>{if("undefined"!==e.elements){const t=e.elements.map(e=>makeItem(e));return{...e,elements:t}}return e};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,page:getItems(r.payload.data)}}return n}},exports.processStoreFactory=function processStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{working:!1,messageText:"",messageVisible:!1},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Completed successfully";const getMessage=e=>e.data&&e.data.message?e.data.message:n;return function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,o=arguments.length>1?arguments[1]:void 0;switch(o.type){case t["REQUEST_".concat(e)]:return{...r,working:!0,data:null};case t["RECEIVE_".concat(e)]:return{...r,working:!1,messageText:getMessage(o.payload),messageVisible:!0,data:o.payload.data};case t["SHOW_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!0};case t["HIDE_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return{...r,working:!1,messageText:n,messageVisible:!1,data:null}}return r}},exports.reducers=St,exports.reportOptionsFactory=function reportOptionsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...r.payload.options};default:return n}}},exports.reportResultsFactory=function reportResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults?r.payload.data.reportResults[0]:r.payload.data};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.reportsResultsFactory=function reportsResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.smartGoBack=(e,t)=>{var a;null!=e&&null!==(a=e[e.length-1])&&void 0!==a&&a.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=t=>{let{rows:a,defaultRow:n,setEditStatus:r}=t;const[o,l]=e.useState([]),[i,s]=e.useState();e.useEffect(()=>{l(a)},[a]);return{data:o,setData:l,addRow:()=>{r&&r("edit"),l(n?[...o,{...n,editing:!0,isNewRow:!0}]:[...o,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,a,n)=>{r&&r("edit"),l(()=>o.map(t=>t.id===e.id?{...t,[a]:n,editing:!0}:t))},replaceRow:(e,t)=>{r&&r("edit"),l(()=>o.map(a=>a.id===e.id?{...t,editing:!0}:a))},removeRow:e=>{r&&r("edit"),l(o.filter(t=>t.id!==e))},resetRow:e=>{const t=a.find(t=>t.id===e.id);l(()=>o.map(a=>a.id===e.id?{...t,editing:!1}:a))},setRowToBeDeleted:(e,t)=>{r&&r("edit"),l(o.map(a=>a.id===e?{...a,toBeDeleted:t,editing:!t}:a))},setRowToBeSaved:(e,t)=>{l(o.map(a=>a.id===e?{...a,toBeSaved:t,editing:!t}:a))},setEditing:(e,t)=>{l(a=>a.map(a=>a.id===e?{...a,editing:t,toBeSaved:!1,toBeDeleted:!1}:a))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{l(o.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{l(o.map(e=>!0===e.editing?{...a.find(t=>t.id===e.id),editing:!1}:e))},valid:i}},exports.useSearch=useSearch,exports.useTablePagination=function useTablePagination(t,a){const[n,r]=e.useState({orderBy:"",orderAscending:!1,currentPage:0,rowsPerPage:10});return e.useEffect(()=>{n.orderBy&&a?a(n.currentPage+1,n.rowsPerPage,n.orderBy,n.orderAscending):t(n.currentPage+1,n.rowsPerPage)},[n.currentPage,n.rowsPerPage,n.orderBy,n.orderAscending,t,a]),[n,r]},exports.utilities=$e;
|
|
1
|
+
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var e=require("react"),t=_interopDefault(e),a=_interopDefault(require("@material-ui/styles/makeStyles")),n=_interopDefault(require("@material-ui/core/Button")),r=_interopDefault(require("prop-types")),o=_interopDefault(require("@material-ui/core/Tooltip")),l=_interopDefault(require("@material-ui/core/SvgIcon")),i=_interopDefault(require("@material-ui/core/Typography")),s=_interopDefault(require("@material-ui/core/Link")),c=require("@material-ui/styles"),u=_interopDefault(require("@material-ui/core/Table")),d=_interopDefault(require("@material-ui/core/TableBody")),p=_interopDefault(require("@material-ui/core/TableCell")),m=_interopDefault(require("@material-ui/core/TableHead")),g=_interopDefault(require("@material-ui/core/TableRow")),E=_interopDefault(require("@material-ui/core/Paper")),h=_interopDefault(require("numeral")),y=_interopDefault(require("@material-ui/core/Modal")),f=require("react-router-dom"),b=_interopDefault(require("@material-ui/core/Card")),R=_interopDefault(require("@material-ui/icons/Error")),w=_interopDefault(require("@material-ui/core/styles/withStyles")),T=require("@material-ui/core/styles"),S=_interopDefault(require("@material-ui/core/colors/red")),k=_interopDefault(require("@material-ui/core/colors/pink")),C=_interopDefault(require("classnames")),v=_interopDefault(require("@material-ui/core/Box")),_=_interopDefault(require("@material-ui/core/CircularProgress")),x=_interopDefault(require("@material-ui/core/TextField")),A=_interopDefault(require("@material-ui/core/InputLabel")),D=_interopDefault(require("@material-ui/core/FormControlLabel")),q=_interopDefault(require("@material-ui/core/Checkbox")),I=_interopDefault(require("@material-ui/styles/withStyles")),P=_interopDefault(require("@material-ui/core/InputAdornment")),O=_interopDefault(require("moment")),L=_interopDefault(require("@material-ui/core/List")),N=_interopDefault(require("@material-ui/core/ListItem")),B=_interopDefault(require("@material-ui/core/Divider")),F=_interopDefault(require("@material-ui/core/Grid")),V=_interopDefault(require("@material-ui/core/Dialog")),W=_interopDefault(require("@material-ui/core/IconButton")),H=_interopDefault(require("@material-ui/icons/Close")),U=require("@material-ui/core"),z=require("notistack"),M=_interopDefault(require("@material-ui/core/Switch")),Q=_interopDefault(require("@material-ui/core/Snackbar")),j=require("@material-ui/pickers"),G=_interopDefault(require("@material-ui/core/TablePagination")),Y=_interopDefault(require("@material-ui/core/TableSortLabel")),K=_interopDefault(require("@material-ui/icons/Edit")),J=_interopDefault(require("@material-ui/core/LinearProgress")),X=_interopDefault(require("@material-ui/icons/FirstPage")),Z=_interopDefault(require("@material-ui/icons/KeyboardArrowLeft")),$=_interopDefault(require("@material-ui/icons/KeyboardArrowRight")),ee=_interopDefault(require("@material-ui/icons/LastPage")),te=_interopDefault(require("@material-ui/icons/Search")),ae=require("redux-api-middleware"),ne=_interopDefault(require("query-string")),re=require("react-redux"),oe=require("react-router"),le=_interopDefault(require("@material-ui/core/Tabs")),ie=_interopDefault(require("@material-ui/core/Tab")),se=_interopDefault(require("@material-ui/core/AppBar")),ce=_interopDefault(require("@material-ui/core/ClickAwayListener")),ue=_interopDefault(require("@material-ui/core/Menu")),de=_interopDefault(require("@material-ui/core/MenuItem")),pe=_interopDefault(require("@material-ui/core/Toolbar")),me=_interopDefault(require("@material-ui/core/Badge")),ge=_interopDefault(require("@material-ui/icons/AccountCircle")),Ee=_interopDefault(require("@material-ui/icons/Notifications")),he=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),ye=_interopDefault(require("@material-ui/core/ListItemText")),fe=_interopDefault(require("@material-ui/icons/Delete")),be=_interopDefault(require("@material-ui/icons/Done")),Re=_interopDefault(require("@material-ui/styles/ThemeProvider")),we=_interopDefault(require("@material-ui/icons/Add")),Te=_interopDefault(require("clsx")),Se=_interopDefault(require("@material-ui/icons/Save")),ke=_interopDefault(require("@material-ui/icons/Clear")),Ce=require("@material-ui/core/colors");const ve=a(()=>({pullLeft:{float:"left"}})),BackButton=e=>{let{backClick:a,text:r}=e;const o=ve();return t.createElement("div",{className:o.pullLeft},t.createElement(n,{id:"back-button",onClick:()=>a()},r||"Back"))};BackButton.propTypes={backClick:r.func.isRequired,text:r.string},BackButton.defaultProps={text:null};const ExportButton=e=>{let{href:a}=e;return t.createElement("div",{style:{float:"right"}},t.createElement(o,{title:"Download report as CSV file",placement:"top-end"},t.createElement(n,{href:a,color:"primary",variant:"outlined"},"Export",t.createElement(l,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))))};ExportButton.propTypes={href:r.string.isRequired};const _e=c.makeStyles(()=>({root:{width:"100%"},link:{"&:hover":{cursor:"pointer"}}})),Slash=()=>t.createElement(t.Fragment,null," "," / "," ");function Breadcrumbs(a){let{history:n,rootPathLength:r,homeUrl:o}=a;const l=_e();let c=n.location.pathname;c.endsWith("/")&&(c=c.substring(0,c.length-1));const u=c.split("/").filter(e=>"report"!==e).reduce((e,t,a,o)=>{c=o.slice(0,a+1);const l=c.join("/")||"/";return t?[...e,{key:a,caption:t,href:l,onClick:e=>(e=>{c.length>r&&(e.preventDefault(),n.push(l))})(e)}]:e},[]);return t.createElement("div",{className:l.root},t.createElement(t.Fragment,null,t.createElement(s,{key:"home",href:o,classes:{root:l.link},variant:"button"},"HOME"),t.createElement(Slash,null)),u.map((a,n)=>n<u.length-1?t.createElement(e.Fragment,{key:n},t.createElement(s,{key:a.href,to:a.href,classes:{root:l.link},variant:"button",onClick:a.onClick},a.caption),t.createElement(Slash,null)):t.createElement(i,{display:"inline",variant:"button",key:n},a.caption)))}Breadcrumbs.propTypes={history:r.shape({push:r.func,location:r.shape({pathname:r.string})}).isRequired,rootPathLength:r.number,homeUrl:r.string},Breadcrumbs.defaultProps={rootPathLength:2,homeUrl:"https://app.linn.co.uk"};const xe=c.makeStyles(e=>({pullRight:{float:"right"},cancel:{marginRight:e.spacing(1)}}));function SaveBackCancelButtons(e){let{saveClick:a,cancelClick:r,saveDisabled:o,backClick:l}=e;const i=xe();return t.createElement("div",{className:i.pullRight},t.createElement(n,{id:"cancel-button",onClick:()=>{o?l():r()},variant:"outlined",className:i.cancel},o?"Back":"Cancel"),t.createElement(n,{id:"save-button",variant:"contained",color:"primary",onClick:()=>a(),disabled:o},"Save"))}SaveBackCancelButtons.propTypes={saveClick:r.func.isRequired,cancelClick:r.func.isRequired,backClick:r.func.isRequired,saveDisabled:r.bool},SaveBackCancelButtons.defaultProps={saveDisabled:!1};const Ae=a(e=>({link:{textDecoration:"none",color:e.palette.primary.main,padding:0,"&:hover":{cursor:"pointer",textDecoration:"underline",background:"transparent"}}}));function LinkOrAnchor(e){let{hasExternalLinks:a,text:r,href:o}=e;const l=Ae();return a?t.createElement("a",{style:{textDecoration:"none"},href:o},t.createElement(n,{size:"small",className:l.link},r)):t.createElement(s,{className:l.link,component:f.Link,to:o}," ",r," ")}const format=(e,t,a,n)=>{let r;return r=n&&"0"!==n?".".concat(Array(n+1).join("0")):"",e||0===e?(t||"")+h(e).format("0,0".concat(r))+(a||""):null},setDrilldown=(e,t)=>{let a,n;e&&e.hasOwnProperty("displayString")?(a=e.displayString,e.drillDowns.length>0&&(n=e.drillDowns[0].href)):a=e;return n?LinkOrAnchor({hasExternalLinks:t,text:a,href:n}):a},formatTitle=(a,n,r,o,l)=>{if(o)return t.createElement("strong",null,"Error");if(!n)return"";let s;return s=a&&a.displayString?a.displayString:a,r?t.createElement(i,{variant:"subtitle1"},"".concat(s," (loading)")):t.createElement(e.Fragment,null,t.createElement("div",null,t.createElement(i,{variant:"subtitle1"},setDrilldown(a))),l?t.createElement("div",null,t.createElement(y,{"aria-labelledby":"simple-modal-title","aria-describedby":"simple-modal-description"},l)):"")},setValueDrilldown=(e,t)=>{let a;if(e&&(e.displayValue||0===e.displayValue))if(e.drillDowns&&e.drillDowns.length>0){const n=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces),{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,href:r,text:n})}else a=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces);else a=null;return a},De=r.shape({rowHeader:r.string.isRequired,columnHeaders:r.arrayOf(r.string).isRequired,varianceColumns:r.arrayOf(r.number).isRequired}),qe=r.shape({rowTitle:r.object.isRequired,rowSortOrder:r.number,values:r.arrayOf(r.object).isRequired}),Ie=r.shape({title:r.object,resultType:r.string,reportValueType:r.string,headers:De,results:r.arrayOf(qe).isRequired,totals:qe}),Title=e=>{let{text:a}=e;return t.createElement(i,{variant:"h4",gutterBottom:!0},a)};Title.propTypes={text:r.string.isRequired};const Pe=T.createTheme({palette:{background:{paper:S[100]}}}),Oe=T.createTheme({palette:{primary:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastText:"rgba(0, 0, 0, 0.87)",dark:"#0097a7",light:"#4dd0e1",main:"#00acc1"},secondary:k}}),ErrorCard=e=>{let{classes:a,errorMessage:n}=e;return t.createElement(T.MuiThemeProvider,{theme:Pe},t.createElement(b,{className:a.root},t.createElement(R,{color:"error",className:a.icon}),t.createElement(i,{align:"center",className:a.typography},n)))};ErrorCard.propTypes={classes:r.shape({}),errorMessage:r.string.isRequired},ErrorCard.defaultProps={classes:{}};var Le=w(()=>({root:{display:"flex",justifyContent:"center",width:"50%",margin:"auto",padding:10},icon:{marginRight:5},typography:{fontSize:16}}))(ErrorCard);const Ne=a(()=>({subTotal:{fontWeight:"bolder"},root:{width:"100%",overflow:"auto",textAlign:"center",pageBreakInside:"avoid"},rootAllowsPageBreaks:{width:"100%",overflow:"auto",textAlign:"center"},numberField:{textAlign:"right"},noWrap:{whiteSpace:"nowrap"},smallCol:{width:"100px",overflow:"auto"},mediumCol:{width:"200px",overflow:"auto"},largeCol:{width:"300px",overflow:"auto"}})),setCellClasses=(e,t,a,n,r,o,l,i,s)=>{let c="";return("Subtotal"===n||l)&&(c+="".concat(e.subTotal," ")),o||a||(c+="".concat(e.numberField," ")),i||(c+="".concat(e.noWrap," ")),s&&(c+="".concat(s," ")),c},setHeaderCellClasses=(e,t,a,n,r,o)=>{let l="";return a||(l+="".concat(e.numberField," ")),"small"===r&&(l+="".concat(e.smallCol," ")),"medium"===r&&(l+="".concat(e.mediumCol," ")),"large"===r&&(l+="".concat(e.largeCol," ")),o&&(l+="".concat(o," ")),l},Results=e=>{let{reportData:a,classes:n,title:r,showTitle:o,showTotals:l,hasExternalLinks:i,showRowTitles:s,columnClasses:c,allowPageBreakInside:h}=e;return t.createElement(E,{className:h?n.rootAllowsPageBreaks:n.root},t.createElement(Title,{text:formatTitle(r,o,!a,a&&a.error,a?a.reportHelpText:"")}),t.createElement("div",{style:{backgroundColor:"white"}},t.createElement(u,{size:"small"},t.createElement(m,{key:"headers"},t.createElement(g,null,s?t.createElement(p,null," ",a.headers.rowHeader," "):null,a.headers.columnHeaders.map((e,r)=>t.createElement(p,{className:setHeaderCellClasses(n,a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),c?c[r]:null),key:e},e)))),t.createElement(d,null,a.results.map((e,r)=>t.createElement(g,{key:r},s?t.createElement(p,{className:n.noWrap},setDrilldown(e.rowTitle,i)):null,e.values.map((r,o)=>t.createElement(p,{className:setCellClasses(n,r&&r.displayValue,r?r.textDisplayValue:null,e.rowType,a.headers.varianceColumns.includes(o),a.headers.textColumns.includes(o),a.headers.totalColumns.includes(o),!r||r.allowWrap),key:o},setValueDrilldown(r,i),((e,t)=>{let a;if(e&&e.textDisplayValue)if(e.drillDowns&&e.drillDowns.length>0){const n=e.textDisplayValue,{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,text:n,href:r})}else a=e.textDisplayValue;else a=null;return a})(r,i))))),!!l&&t.createElement(g,{key:"totals"},s?t.createElement(p,null,a.totals.rowTitle.displayString):null,a.totals.values.map((e,r)=>t.createElement(p,{className:setCellClasses(n,e&&e.displayValue,e?e.textDisplayValue:null,"Total",a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),!e||e.allowWrap),key:r},setValueDrilldown(e,i))))))))};function ReportTable(e){let{placeholderRows:a,placeholderColumns:n,reportData:r,hasExternalLinks:o,title:l,showTitle:i,showTotals:s,showRowTitles:c,columnClasses:m,allowPageBreakInside:h}=e;const y=Ne();return r?r.message?t.createElement(Le,{errorMessage:r.message}):Results({reportData:r,hasExternalLinks:o,classes:y,title:l,showRowTitles:c,showTitle:i,showTotals:s,columnClasses:m,allowPageBreakInside:h}):t.createElement(E,{className:h?y.rootAllowsPageBreaks:y.root},t.createElement(u,null,t.createElement(d,null,[...Array(a).keys()].map(e=>t.createElement(g,{key:e},[...Array(n).keys()].map(e=>t.createElement(p,{key:e})))))))}Results.propTypes={hasExternalLinks:r.bool,reportData:Ie,classes:r.shape({root:r.shape({}),noWrap:r.shape({}),rootAllowsPageBreaks:r.shape({})}).isRequired,title:r.oneOfType([r.string,r.shape({})]),showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool.isRequired},Results.defaultProps={reportData:null,title:null,showTitle:!0,showTotals:!0,showRowTitles:!0,hasExternalLinks:!1,columnClasses:null},ReportTable.propTypes={hasExternalLinks:r.bool,placeholderRows:r.number.isRequired,placeholderColumns:r.number.isRequired,reportData:r.shape({}),columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool},ReportTable.defaultProps={reportData:null,placeholderRows:5,placeholderColumns:6,hasExternalLinks:!1,columnClasses:null,allowPageBreakInside:!1};const setPageBreaks=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return C(a,{"new-page-after":t.includes(e)})},Placeholder=e=>{let{rows:a,columns:n}=e;return t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(a).keys()].map(e=>t.createElement("tr",{key:e},[...Array(n).keys()].map(e=>t.createElement("td",{key:e}))))))},Results$1=e=>{let{reportData:a,showTotals:n,placeholderRows:r,placeholderColumns:o,pageBreaksAfter:l,fixColumnWidths:i,containsSubtotals:s,showRowTitles:c,showTitle:u,allowPageBreakInside:d}=e;return t.createElement("div",null,a.error?(p=a.message,t.createElement("h5",{className:"error-message"},p)):t.createElement(t.Fragment,null,a.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((e,p)=>t.createElement(v,{paddingBottom:3,key:p,className:setPageBreaks(p,l)},formatTitle(e.title,u,!a,a&&a.error),t.createElement(ReportTable,{reportData:e,containsSubtotals:s,showTitle:!1,showTotals:n,fixColumnWidths:i,placeholderRows:r,placeholderColumns:o,showRowTitles:c,allowPageBreakInside:d})))));var p},MultiReportTable=e=>{let{reportData:a,title:n,showTitle:r,showTotals:o,placeholderRows:l,placeholderColumns:i,pageBreaksAfter:s,fixColumnWidths:c,containsSubtotals:u,showRowTitles:d,allowPageBreakInside:p}=e;return t.createElement("div",null,((e,a,n,r)=>{if(!a)return!1;if(r)return t.createElement("strong",null,"Error");let o;return o=e&&e.displayString?e.displayString:e,n?t.createElement("h5",null,"".concat(o," (loading)")):t.createElement("strong",null,o)})(n,r,!a,a&&a.error),a?t.createElement(Results$1,{reportData:a,showTotals:o,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:u,pageBreaksAfter:s,fixColumnWidths:c,showTitle:r,allowPageBreakInside:p}):t.createElement("div",null,t.createElement(Placeholder,{rows:l,columns:i}),t.createElement(Placeholder,{rows:l,columns:i})))};MultiReportTable.propTypes={reportData:r.arrayOf(r.shape({})),title:r.string,showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results$1.propTypes={reportData:r.arrayOf(r.shape({})),showTotals:r.bool,showTitle:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool.isRequired},Results$1.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:r.number,columns:r.number},Placeholder.defaultProps={rows:4,columns:4};const Be=T.makeStyles(e=>({outer:{textAlign:"center",margin:e.spacing(4),height:"40px"}}));function Loading(){const e=Be();return t.createElement("div",{className:e.outer},t.createElement(_,null))}const Fe=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},helperText:{color:e.palette.error.main},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue=e=>e||0===e,hasDisplayText=e=>e.some(e=>e.displayText||""===e.displayText),getOptions=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(a)return["loading..."];const n=e?[...e]:[];return t&&(hasDisplayText(e)?n.push({id:"",displayText:""}):n.push("")),n};function Dropdown(e){let{onChange:a,optionsLoading:n,propertyName:r,required:o,disabled:l,label:i,items:s,allowNoValue:c,value:u,helperText:d,fullWidth:p,adornment:m,type:g,error:E,margin:h,autoFocus:y}=e;const f=Fe();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:f.label,asterisk:f.labelAsterisk},required:o,error:E,htmlFor:r},i),t.createElement(x,{classes:{root:f.root},autoFocus:y,error:E,id:r,type:g,select:!0,adornment:m,disabled:l,fullWidth:p,value:(b=u,hasValue(b)?b:""),onChange:e=>(e=>{const t=e.target.value;let n;n="number"===g?hasValue(t)?parseFloat(t):null:hasValue(t)?t:"",a(r,n)})(e),SelectProps:{native:!0},helperText:d,margin:h,variant:"outlined",required:o,InputProps:{classes:{disabled:f.disabled}},FormHelperTextProps:{classes:{required:f.required,error:f.error}}},hasDisplayText(s)?getOptions(s,c,n).map(e=>t.createElement("option",{key:e.id,value:e.id},e.displayText)):getOptions(s,c,n).map(e=>t.createElement("option",{key:e,value:e},e))));var b}Dropdown.propTypes={adornment:r.string,disabled:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,items:r.oneOfType([r.arrayOf(r.string),r.arrayOf(r.number),r.arrayOf(r.shape({id:r.oneOfType([r.PropTypes.string,r.PropTypes.number]),displayText:r.string}))]),propertyName:r.string.isRequired,required:r.bool,value:e=>{const{items:t,value:a,allowNoValue:n,optionsLoading:r}=e;return null===a?new Error("Please provide a value that is not null"):r||((e,t)=>hasDisplayText(t)?t.some(t=>t.id===e):t.includes(e))(a,getOptions(t,n))?null:new Error("Please provide a value that is in the items list")},type:r.string,onChange:r.func.isRequired,error:r.bool,margin:r.string,allowNoValue:r.bool,optionsLoading:r.bool,autoFocus:r.bool},Dropdown.defaultProps={adornment:"",disabled:!1,fullWidth:!1,items:[],helperText:"",type:"text",required:!1,value:"",error:!1,margin:"dense",allowNoValue:!0,optionsLoading:!1,label:"",autoFocus:!1};const CheckboxWithLabel=e=>{let{classes:a,checked:n,color:r="primary",label:o,onChange:l}=e;return t.createElement(D,{label:o,classes:{label:"".concat(a.root)},control:t.createElement(q,{checked:n,onChange:l,color:r})})};CheckboxWithLabel.propTypes={classes:r.shape({}),checked:r.bool,color:r.string,label:r.string,onChange:r.func.isRequired},CheckboxWithLabel.defaultProps={classes:{},checked:!1,color:"primary",label:""};var Ve=I({root:{width:"100%",fontSize:14}})(CheckboxWithLabel);function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}const We=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue$1=e=>e||0===e;function InputField(e){let{onChange:a,propertyName:n,type:r,adornment:o,disabled:l,error:i,fullWidth:s,helperText:c,label:u,margin:d,maxLength:p,rows:m,name:g,placeholder:E,required:h,value:y,decimalPlaces:f,textFieldProps:b,autoFocus:R}=e;const w=We();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:w.label,asterisk:w.labelAsterisk},required:h,error:i,htmlFor:n},u),t.createElement(x,_extends({classes:{root:w.root},disabled:l,error:i,fullWidth:s,helperText:c,margin:d,multiline:m>0,name:g,id:n,placeholder:E,required:h,rows:m,type:r,value:"date"===r?O(y).format("YYYY-MM-DD"):(T=y,hasValue$1(T)?T:""),onChange:e=>(e=>{const t=e.target.value;let o=t;"date"===r&&(o=t?O(t).utc().format():""),"number"===r&&(o=hasValue$1(t)?parseFloat(t):null,o&&f&&t.indexOf(".")<t.length-f&&-1!==t.indexOf(".")&&(o=parseFloat(t.slice(0,t.indexOf(".")+f+1)))),a(n,o)})(e),InputProps:{startAdornment:o?t.createElement(P,{position:"start"},o):null,inputProps:{maxLength:p},classes:{disabled:w.disabled}},FormHelperTextProps:{classes:{required:w.required,error:w.error}},onInput:e=>{"number"===r&&p&&(e.target.value=e.target.value.slice(0,p))},variant:"outlined",autoFocus:R},b)));var T}InputField.propTypes={adornment:r.oneOfType([r.string,r.shape({})]),disabled:r.bool,error:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,margin:r.string,maxLength:r.number,required:r.bool,rows:r.number,name:r.string,placeholder:r.string,propertyName:r.string.isRequired,type:r.string,value:r.oneOfType([r.string,r.number]),onChange:r.func,decimalPlaces:r.number,textFieldProps:r.shape({}),autoFocus:r.bool},InputField.defaultProps={adornment:"",disabled:!1,error:!1,fullWidth:!1,helperText:"",label:"",margin:"dense",maxLength:null,required:!1,rows:null,name:"",placeholder:"",type:"text",value:"",onChange:null,decimalPlaces:null,textFieldProps:null,autoFocus:!1};const He=a(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton(e){let{to:a,external:r,tooltip:l,text:i,disabled:s}=e;const c=He(),button=()=>l?t.createElement(o,{title:l},t.createElement("div",null,t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i))):t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i);return s?button():t.createElement("div",null,r?t.createElement("a",{className:c.a,href:a},button()):t.createElement(f.Link,{className:c.a,to:a},button()))}function useSearch(t,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:500,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;const[s,c]=e.useState(null),u=e.useRef(),d=e.useRef(),p=e.useRef();e.useEffect(()=>{u.current=t},[t]),e.useEffect(()=>{d.current=s},[s]),e.useEffect(()=>{n&&(p.current=n)},[n]),e.useEffect(()=>{a&&(null==a?void 0:a.toString().replace(/\s/g,"").length)>=i?(d.current&&clearTimeout(d.current),c(r?setTimeout(()=>u.current(r,a),l):o?setTimeout(()=>u.current(a,o),l):setTimeout(()=>u.current(a),l))):d.current&&clearTimeout(d.current),p.current&&p.current()},[a,r])}LinkButton.propTypes={text:r.string.isRequired,tooltip:r.string,to:r.string.isRequired,external:r.bool,disabled:r.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const SearchIcon=e=>t.createElement(U.IconButton,{onClick:()=>!!e&&e()},t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}))),Ue=a(e=>({a:{textDecoration:"none"},nameText:{fontWeight:e.typography.fontWeightBold},bodyText:{color:e.palette.text.primary},pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)},clearButtonInline:{marginTop:e.spacing(1),display:"inline-block"},clearButton:{padding:"7px 0px"}}));function Typeahead(a){let{fetchItems:l,items:c,title:u,loading:d,clearSearch:p,modal:m,openModalOnClick:g,handleFieldChange:E,links:h,label:y,onSelect:b,value:R,placeholder:w,disabled:T,minimumSearchTermLength:S,debounce:k,searchButtonOnly:C,propertyName:v,priorityFunction:_,resultLimit:x,clearable:A,clearTooltipText:D,onClear:q}=a;const[I,P]=e.useState(""),[O,U]=e.useState(!1),z=Ue();useSearch(l,I,p,null,null,k,S);const handleSearchTermChange=function(){P(arguments.length<=1?void 0:arguments[1])},handleClick=e=>{m&&U(!1),p&&p(),P(null),h||b(e)},Item=e=>{let{item:a,onClick:n}=e;return t.createElement(N,{button:!0,onClick:m?n:void 0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:z.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,{classes:{root:z.bodyText}},a.description))))};Item.propTypes={item:r.shape({name:r.string,description:r.string,href:r.string}).isRequired,onClick:r.func},Item.defaultProps={onClick:null};const results=()=>{var a;if(d)return t.createElement(Loading,null);let n=c;return _&&(n=n.map(e=>({...e,priority:_(e,I)})).sort((e,t)=>e.priority>t.priority?-1:e.priority<t.priority?1:0)),x&&(n=n.slice(0,x)),(null===(a=n)||void 0===a?void 0:a.length)>0?t.createElement(L,{dense:!0},n.map(a=>t.createElement(e.Fragment,{key:a.id},h?t.createElement(s,{className:z.a,component:f.Link,to:null==a?void 0:a.href},t.createElement(Item,{item:a,onClick:()=>handleClick(a)})):t.createElement(Item,{item:a,onClick:()=>handleClick(a)}),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")};return t.createElement(t.Fragment,null,m?t.createElement(t.Fragment,null):t.createElement(Title,{text:u}),m&&C?t.createElement(o,{title:y},t.createElement(W,{disabled:T,onClick:()=>{U(!0),p()}},SearchIcon())):t.createElement(InputField,{adornment:SearchIcon(()=>U(!0)),propertyName:v,textFieldProps:{onClick:()=>{T||g&&(U(!0),p())},disabled:T},value:m?R:I,label:y,placeholder:w,onChange:m&&!g?E:m&&g?()=>U(!0):handleSearchTermChange}),A&&t.createElement("div",{className:z.clearButtonInline},t.createElement(o,{title:D},t.createElement(n,{variant:"outlined",onClick:q,disabled:T,className:z.clearButton},"X"))),m?t.createElement(V,{"data-testid":"modal",open:O,onClose:()=>U(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:z.pullRight,"aria-label":"Close",onClick:()=>U(!1)},t.createElement(H,null)),t.createElement("div",{className:z.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},u),t.createElement(InputField,{propertyName:v,adornment:SearchIcon(),textFieldProps:{autoFocus:!0},placeholder:w,onChange:handleSearchTermChange,value:I}),d?t.createElement(Loading,null):results()))):results())}const ze={id:r.oneOfType([r.string,r.number]),name:r.oneOfType([r.string,r.number]),description:r.string,href:r.string};Typeahead.propTypes={propertyName:r.string,items:r.arrayOf(r.shape(ze)).isRequired,title:r.string,loading:r.bool,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,modal:r.bool,openModalOnClick:r.bool,handleFieldChange:r.func,links:r.bool,label:r.string,onSelect:r.func,value:r.string,placeholder:r.string,disabled:r.bool,minimumSearchTermLength:r.number,debounce:r.number,searchButtonOnly:r.bool,priorityFunction:r.func,resultLimit:r.number,clearable:r.bool,clearTooltipText:r.string,onClear:r.func},Typeahead.defaultProps={title:"",loading:!1,modal:!1,openModalOnClick:!0,links:!0,label:null,onSelect:null,value:null,placeholder:"Search by id or by description",disabled:!1,minimumSearchTermLength:1,debounce:500,searchButtonOnly:!1,propertyName:"",priorityFunction:null,resultLimit:null,handleFieldChange:null,resultLimit:null,clearable:!1,clearTooltipText:"Clear",onClear:()=>{}};const Me=a(e=>({root:{padding:e.spacing(4)},breadcrumbs:{marginTop:e.spacing(4),marginLeft:e.spacing(4),marginRight:e.spacing(4),padding:e.spacing(2)},grid:{marginTop:e.spacing(4),width:"100%"}})),Qe={xs:4,s:6,m:8,l:10,xl:12},je={xs:4,s:3,m:2,l:1,xl:!1};function Page(a){let{children:n,history:r,width:o,requestErrors:l,showRequestErrors:i,homeUrl:s,showBreadcrumbs:c}=a;const u=Me(),{enqueueSnackbar:d}=z.useSnackbar();return e.useEffect(()=>{l&&i&&l.forEach(e=>{d("".concat(e.message," - ").concat(e.type),{variant:"error",preventDuplicate:!0})})},[l,d]),t.createElement(t.Fragment,null,t.createElement(F,{container:!0,spacing:3,className:u.grid},t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:10,className:"hide-when-printing"},c&&t.createElement(Breadcrumbs,{history:r,homeUrl:s})),t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:je[o]}),t.createElement(F,{item:!0,xs:Qe[o]},t.createElement(E,{className:u.root,square:!0},n)),t.createElement(F,{item:!0,xs:je[o]})))}Page.propTypes={children:r.node.isRequired,history:r.shape({}).isRequired,width:r.oneOf(["xs","s","m","l","xl"]),showRequestErrors:r.bool,requestErrors:r.arrayOf(r.shape({})),homeUrl:r.string,showBreadcrumbs:r.bool},Page.defaultProps={width:"l",showRequestErrors:!1,requestErrors:[],homeUrl:null,showBreadcrumbs:!0};function EntityList(a){let{title:n,entityList:r,entityId:o,descriptionFieldName:l,hasExternalLinks:s}=a;const c=s?"a":f.Link;return t.createElement(e.Fragment,null,t.createElement(Title,{text:n}),t.createElement(L,null,r.map(e=>t.createElement(N,{key:e[o],button:!0,component:c,to:e.href,href:e.href},t.createElement(i,{color:"primary",variant:"subtitle2"},((e,t,a)=>a?"".concat(e[t]," - ").concat(e[a]):e[t])(e,o,l))))))}EntityList.propTypes={title:r.string,entityId:r.string.isRequired,entityList:r.arrayOf(r.shape({})).isRequired,descriptionFieldName:r.string,hasExternalLinks:r.bool},EntityList.defaultProps={descriptionFieldName:null,title:"",hasExternalLinks:!1};const CreateButton=e=>{let{createUrl:a,classes:r,disabled:o}=e;return t.createElement(f.Link,{to:a},t.createElement(n,{color:"primary",variant:"outlined",className:r.root,disabled:o},"Create"))};CreateButton.propTypes={createUrl:r.string.isRequired,classes:r.shape({}).isRequired,disabled:r.bool},CreateButton.defaultProps={disabled:!1};var Ge=I(()=>({root:{float:"right"}}))(CreateButton);class OnOffSwitch extends t.Component{change(){const{onChange:e,propertyName:t,value:a}=this.props;e(t,!a)}render(){const{value:e,label:a,disabled:n}=this.props;return t.createElement(D,{control:t.createElement(M,{checked:e,onChange:()=>this.change(),value:e,color:"primary",disabled:n}),label:a})}}OnOffSwitch.propTypes={value:r.bool,disabled:r.bool,label:r.string,onChange:r.func.isRequired,propertyName:r.string.isRequired},OnOffSwitch.defaultProps={value:!1,disabled:!1,label:""};const Ye=a(e=>({root:{backgroundColor:e.palette.primary.main}}));function SnackbarMessage(e){let{message:a,visible:n,onClose:r,timeOut:o}=e;const l=Ye();return t.createElement(Q,{anchorOrigin:{vertical:"bottom",horizontal:"left"},ContentProps:{classes:{root:l.root}},open:n,autoHideDuration:o,onClose:()=>r(!1),message:a,action:[t.createElement(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>r(!1)},t.createElement(H,null))]})}SnackbarMessage.propTypes={classes:r.shape({}),message:r.string.isRequired,timeOut:r.number,visible:r.bool,onClose:r.func.isRequired},SnackbarMessage.defaultProps={classes:{},timeOut:3e3,visible:!1};const Ke=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Je=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DatePicker(e){let{value:a,minDate:n,maxDate:r,label:o,onChange:l,required:i,disabled:s}=e;const c=Je(),u=Ke();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:u.root},required:i},o),t.createElement(j.KeyboardDatePicker,{allowKeyboardControl:!0,margin:"dense",inputVariant:"outlined",autoOk:!0,format:"DD/MM/YYYY",value:a,minDate:n,maxDate:r,onChange:l,classes:c,disabled:s,className:c.root,InputAdornmentProps:{className:c.root},InputProps:{classes:{disabled:c.disabled}}}))}DatePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,required:r.bool,value:r.oneOfType([r.shape({}),r.string]),disabled:r.bool,onChange:r.func},DatePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}};const Xe=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Ze=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DateTimePicker(a){let{label:n,value:r,onChange:o,minDate:l,maxDate:i,required:s,disabled:c}=a;const u=Ze(),d=Xe();return t.createElement(e.Fragment,null,t.createElement(A,{classes:{root:d.root},required:s},n),t.createElement(j.KeyboardDateTimePicker,{allowKeyboardControl:!0,autoOk:!0,margin:"dense",inputVariant:"outlined",ampm:!1,value:r,minDate:l,maxDate:i,onChange:o,classes:u,className:u.root,disabled:c,InputAdornmentProps:{className:u.root},InputProps:{classes:{disabled:u.disabled}},format:"DD/MM/YYYY HH:mm"}))}function SearchInputField(e){let{autoFocus:a,...n}=e;return t.createElement(InputField,_extends({adornment:SearchIcon(),autoFocus:a},n))}DateTimePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,onChange:r.func,required:r.bool,value:r.string,disabled:r.bool},DateTimePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}},SearchInputField.propTypes={autoFocus:r.bool},SearchInputField.defaultProps={autoFocus:!1};const $e={getHref:(e,t)=>{if(e&&e.links&&e.links.length>0){const a=e.links.find(e=>e.rel===t);return a?a.href:null}return null},getSelfHref:e=>$e.getHref(e,"self"),sortList:e=>e.slice().sort((e,t)=>e<t?-1:e>t?1:0),sortEntityList:(e,t)=>e.slice().sort((e,a)=>e[t]<a[t]?-1:e[t]>a[t]?1:0)},et=a(e=>({root:{flexShrink:0,color:e.palette.text.secondary,marginLeft:e.spacing(2),direction:e.direction}}));function TablePaginationActions(e){let{count:a,page:n,rowsPerPage:r,onChangePage:o}=e;const l=et();return t.createElement("div",{className:l.root},t.createElement(W,{onClick:function handleFirstPageButtonClick(e){o(e,0)},disabled:0===n,"aria-label":"First Page"},"rtl"===l.direction?t.createElement(ee,null):t.createElement(X,null)),t.createElement(W,{onClick:function handleBackButtonClick(e){o(e,n-1)},disabled:0===n,"aria-label":"Previous Page"},"rtl"===l.direction?t.createElement($,null):t.createElement(Z,null)),t.createElement(W,{onClick:function handleNextButtonClick(e){o(e,n+1)},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Next Page"},"rtl"===l.direction?t.createElement(Z,null):t.createElement($,null)),t.createElement(W,{onClick:function handleLastPageButtonClick(e){o(e,Math.max(0,Math.ceil(a/r)-1))},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Last Page"},"rtl"===l.direction?t.createElement(X,null):t.createElement(ee,null)))}TablePaginationActions.propTypes={count:r.number.isRequired,onChangePage:r.func.isRequired,page:r.number.isRequired,rowsPerPage:r.number.isRequired};const tt=a(e=>({link:{"&:hover":{cursor:"pointer"}},button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},exandedRow:{background:e.palette.grey[100]},expandedTitleText:{fontWeight:e.typography.fontWeightBold}}));function PaginatedTable(a){let{sortable:r,handleRowLinkClick:o,expandable:l,loading:s,columns:c,rows:E,pageOptions:h,setPageOptions:y,totalItemCount:f}=a;const[b,R]=e.useState(),w=tt();return t.createElement(u,{size:"small"},t.createElement(m,null,t.createElement(g,null,Object.keys(c).map(e=>r?t.createElement(p,{key:e,sortDirection:h.orderBy===e&&h.orderAscending?"asc":"desc"},t.createElement(Y,{active:h.orderBy===e,direction:h.orderAscending?"asc":"desc",onClick:()=>{return t=e,void y(e=>({...e,orderBy:t,orderAscending:!e.orderAscending}));var t}},c[e])):t.createElement(p,{key:e},c[e])),l&&t.createElement(p,null,"Actions"))),s?t.createElement(d,null,t.createElement(p,{colspan:Object.keyscolumns().length+1},t.createElement(J,null))," "):t.createElement(e.Fragment,null,t.createElement(d,null,E.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(g,{key:a.id,className:w.link,hover:!0,onClick:()=>{return l?(e=a.id,R(b===e?null:e)):o($e.getSelfHref(a));var e}},Object.keys(a).filter(e=>(e=>"elements"!==e&&"links"!==e&&"href"!==e&&"id"!==e)(e)).map(e=>t.createElement(p,{key:e,component:"th",scope:"row"},a[e]||"-")),l&&t.createElement(p,null,t.createElement(n,{classes:{root:w.button},key:$e.getSelfHref(a),onClick:()=>o($e.getSelfHref(a)),size:"small",variant:"outlined",color:"primary"},t.createElement(K,{fontSize:"small"})))),l&&b===a.id&&a.elements&&t.createElement(e.Fragment,null,a.elements.map(e=>t.createElement(g,{colSpan:Object.keys(c).length+1,key:e.id},Object.keys(e).filter(e=>"id"!==e).map(a=>t.createElement(p,{key:a,classes:{root:w.exandedRow},size:"small"},t.createElement(i,{classes:{root:w.expandedTitleText},variant:"caption"},a,":"),t.createElement(i,{variant:"caption"}," ".concat(e[a]))))))))),f&&t.createElement(g,null,t.createElement(G,{rowsPerPageOptions:[5,10,25,50],count:f,rowsPerPage:h.rowsPerPage,page:h.currentPage,SelectProps:{native:!0},onChangePage:(e,t)=>{y(e=>({...e,currentPage:t}))},onChangeRowsPerPage:e=>{const{value:t}=e.target;y(e=>({...e,rowsPerPage:parseInt(t,10),currentPage:0}))},ActionsComponent:TablePaginationActions})))))}PaginatedTable.propTypes={sortable:r.bool,handleRowLinkClick:r.func.isRequired,expandable:r.bool,loading:r.bool,columns:r.shape({}).isRequired,rows:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired,elements:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired}))})),pageOptions:r.shape({orderBy:r.string,orderAscending:r.bool,currentPage:r.number,rowsPerPage:r.number}).isRequired,setPageOptions:r.func.isRequired,totalItemCount:r.number},PaginatedTable.defaultProps={rows:[],sortable:!1,expandable:!1,loading:!1,totalItemCount:0};const at=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)}}));function TypeaheadTable(a){let{fetchItems:n,table:r,columnNames:o,title:l,loading:s,clearSearch:c,history:E,placeholder:h,label:y,debounce:f,searchOptions:b,queryString:R,minimumSearchTermLength:w,modal:T,links:S,disabled:k,onSelect:C,value:v}=a;const[_,x]=e.useState(),[A,D]=e.useState(!1);useSearch(n,_,c,R,b,f,w);const q=at(),handleSearchTermChange=(e,t)=>{x(t)},I={cursor:"pointer",textDecoration:"none"},results=()=>r.rows.length>0?t.createElement(u,null,t.createElement(m,null,t.createElement(g,null,o.map(e=>t.createElement(p,{key:e},e)))),t.createElement(d,null,r.rows&&r.rows.map(e=>t.createElement(g,{style:I,onClick:()=>{return S?E.push($e.getSelfHref(e)):(t=e,T&&D(!1),c&&c(),x(null),void(S||C(t)));var t},hover:!0,key:e.id},e.values.map(e=>t.createElement(p,{key:e.id,component:"th",scope:"row"},e.value)))))):t.createElement(i,null,"No matching items"),renderTypeahead=()=>t.createElement(t.Fragment,null,l&&t.createElement(Title,{text:l}),t.createElement(SearchInputField,{placeholder:h,onChange:handleSearchTermChange,type:"search",label:y,variant:"outlined",value:_,textFieldProps:{autoFocus:!0}}),s?t.createElement(Loading,null):results());return T?t.createElement(t.Fragment,null,t.createElement(InputField,{adornment:SearchIcon(),textFieldProps:{onClick:()=>{k||(D(!0),c())},disabled:k},value:T?v:_,label:y,placeholder:h,onChange:T?()=>D(!0):handleSearchTermChange}),t.createElement(V,{"data-testid":"modal",open:A,onClose:()=>D(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:q.pullRight,"aria-label":"Close",onClick:()=>D(!1)},t.createElement(H,null)),t.createElement("div",{className:q.dialog},renderTypeahead())))):t.createElement(t.Fragment,null," ",renderTypeahead())}TypeaheadTable.propTypes={table:r.shape({rows:r.arrayOf(r.shape({Id:r.oneOfType([r.string,r.number]),values:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number]),value:r.string}))})).isRequired}),columnNames:r.arrayOf(r.string).isRequired,history:r.shape({push:r.func}).isRequired,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,title:r.string,loading:r.bool,placeholder:r.string,label:r.string,debounce:r.number,minimumSearchTermLength:r.number,queryString:r.string,searchOptions:r.string,modal:r.bool,links:r.bool,onSelect:r.func,disabled:r.bool,value:r.string},TypeaheadTable.defaultProps={title:null,loading:!1,placeholder:"",table:{rows:[]},label:"",debounce:500,minimumSearchTermLength:1,queryString:"",searchOptions:"",modal:!1,links:!0,onSelect:null,disabled:!1,value:null};const nt=a(e=>({pullRight:{float:"right"},a:{textDecoration:"none"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},nameText:{fontWeight:e.typography.fontWeightMedium},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function TypeaheadDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,onSelect:u,clearSearch:d,debounce:p,minimumSearchTermLength:m}=a;const[g,E]=e.useState(),[h,y]=e.useState(!1),f=nt();useSearch(s,g,d,null,null,p,m);const handleClose=()=>{y(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{y(!0)},variant:"outlined",className:f.button},t.createElement(te,null))),t.createElement(V,{open:h,onClose:handleClose,fullWidth:!0,maxWidth:"md",disableAutoFocus:!0},t.createElement("div",null,t.createElement(W,{className:f.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:f.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(SearchInputField,{placeholder:"Search by id or description",onChange:function(){E(arguments.length<=1?void 0:arguments[1])},label:"",value:g,autoFocus:!0}),l?t.createElement(Loading,null):c.length>0?t.createElement(L,null,c.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(N,{onClick:()=>{return e=a,y(!1),d(),E(null),void u(e);var e},button:!0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:f.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,null,a.description)))),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")))))}TypeaheadDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onSelect:r.func.isRequired,clearSearch:r.func.isRequired,debounce:r.number,minimumSearchTermLength:r.number},TypeaheadDialog.defaultProps={title:"Start typing to search",loading:!1,debounce:500,minimumSearchTermLength:1};const successPayload=e=>async(t,a,n)=>({data:await n.json(),item:e}),requested=(e,t)=>({type:e["REQUEST_".concat(t)],payload:{}}),requestedState=(e,t)=>({type:e["REQUEST_APPLICATION_STATE_".concat(t)],payload:{}}),requestAdd=(e,t)=>({type:e["REQUEST_ADD_".concat(t)],payload:{}}),requestUpdate=(e,t)=>({type:e["REQUEST_UPDATE_".concat(t)],payload:{}}),requestDelete=(e,t)=>({type:e["REQUEST_DELETE_".concat(t)],payload:{}}),receiveUpdated=(e,t,a)=>({type:e["RECEIVE_UPDATED_".concat(t)],payload:successPayload(a)}),received=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receivedState=(e,t,a)=>({type:e["RECEIVE_APPLICATION_STATE_".concat(t)],payload:successPayload(a)}),receiveAdded=(e,t,a)=>({type:e["RECEIVE_NEW_".concat(t)],payload:successPayload(a)}),receivedProcess=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receiveDeleted=(e,t,a)=>({type:e["RECEIVE_DELETED_".concat(t)],payload:successPayload(a)}),requestSearch=(e,t)=>({type:e["REQUEST_SEARCH_".concat(t)],payload:{}}),requestReport=(e,t,a)=>({type:e["REQUEST_".concat(t)],payload:{options:a}}),receiveSearch=(e,t,a)=>({type:e["RECEIVE_SEARCH_".concat(t)],payload:successPayload(a)}),error=(e,t,a)=>({type:e["FETCH_".concat(t,"_ERROR")],payload:async(e,t,n)=>n?{error:{status:n.status,statusText:"Error - ".concat(n.status," ").concat(n.statusText),details:await n.json(),item:a}}:"Network request failed"});const receiveTypes=e=>["RECEIVE_".concat(e),"RECEIVE_NEW_".concat(e),"RECEIVE_UPDATED_".concat(e)],fetchNews=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/notifications"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_NEWS",payload:{}},{type:"RECEIVE_NEWS",payload:async(e,t,a)=>({news:await a.json(),item:"news"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}}),markNotificationSeen=e=>({type:"MARK_NOTIFICATION_SEEN",title:e.title}),fetchMenu=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/intranet/menu-no-auth"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_MENU",payload:{}},{type:"RECEIVE_MENU",payload:async(e,t,a)=>({menu:await a.json(),item:"menu"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}});function menu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,data:null},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_MENU":return{...e,loading:!0,data:null};case"RECEIVE_MENU":return{...e,loading:!1,data:t.payload.menu};default:return e}}function news(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,seen:[],unseen:[]},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_NEWS":return{...e,loading:!0};case"RECEIVE_NEWS":return{...e,loading:!1,unseen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>!localStorage.getItem(e.title)):[],seen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>localStorage.getItem(e.title)):[]};case"MARK_NOTIFICATION_SEEN":return{...e,seen:[...e.seen,...e.unseen.filter(e=>e.title===t.title)],unseen:e.unseen.filter(e=>e.title!==t.title)};default:return e}}const rt={getSections:e=>{const{menu:t}=e;return t&&t.data?t.data.sections:null},getMenuSection:(e,t)=>{const a=rt.getSections(e);if(a){const e=a.filter(e=>e.id===t),{columns:n}=e[0];return n}return[]},getMyStuff:e=>{const{menu:t}=e;return t&&t.data?t.data.myStuff:null},getMenuLoading:e=>!!e&&e.loading},ot={getSeenNotifications:e=>{const{news:t}=e;return t?t.seen:null},getUnseenNotifications:e=>{const{news:t}=e;return t?t.unseen:null},getNewsLoading:e=>{const{news:t}=e;return t.loading}},getUsername=e=>{const{oidc:t}=e;return t.user?t.user.profile.preferred_username:null},initialiseOnMount=a=>function HOC(n){const{initialise:r,itemId:o}=n;return e.useEffect(()=>{r&&o?r({itemId:o}):r&&r(n)},[r,o]),t.createElement(a,n)},lt={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1}};function Panel(e){let{section:a,classes:r,close:o}=e;const{columns:l}=a;return t.createElement(E,{classes:{root:r.paper}},t.createElement(n,{onClick:o,color:"secondary",style:lt.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0,justifyContent:"flex-start"},l.map((e,a)=>t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,key:a},e.categories.filter(e=>e.items.filter(e=>e.showInMenu).length>0).map(e=>t.createElement(L,{key:e.title},t.createElement(N,null,t.createElement(i,{variant:"button",gutterBottom:!0},e.title.replace("&","&"))),e.items.map(e=>t.createElement("div",{key:e.href},e.showInMenu&&t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:r.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:r.menuItems},color:"primary"},e.title))))))))),t.createElement(F,{item:!0,xs:12},t.createElement("a",{href:"/".concat(a.id)},t.createElement(n,{onClick:o,color:"primary",style:{marginRight:"10px",marginBottom:"10px",float:"right"}},"SHOW ALL OPTIONS...")," "))))}Panel.propTypes={classes:r.shape({}).isRequired,section:r.shape({}).isRequired,close:r.func.isRequired};var it=w(lt)(Panel);const st={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1},searchInputField:{float:"right"}};function SearchPanel(a){let{menu:r,classes:o,close:l}=a;const[s,c]=e.useState(),u=r.map(e=>e.columns).flat().map(e=>e.categories).flat().map(e=>e.items).flat(),d=Object.values(u.reduce((e,t)=>e[t.href]?e:{...e,[t.href]:t},{}));return t.createElement(E,{classes:{root:o.paper}},t.createElement(n,{onClick:l,color:"secondary",style:st.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0},t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,"justify-content":"flex-end"},t.createElement(SearchInputField,{value:s,onChange:(e,t)=>{c(t)},textFieldProps:{autoFocus:!0},placeholder:"start typing..."}),(null==s?void 0:s.length)>1&&d.filter(e=>e.title.toLowerCase().includes(s.toLowerCase())||e.href.toLowerCase().includes(s.toLowerCase())).map(e=>t.createElement(t.Fragment,{key:e.href},t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:o.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:o.menuItems},color:"primary"},e.title))))))))}SearchPanel.propTypes={classes:r.shape({listItemText:r.string,menuItems:r.string,paper:r.string}).isRequired,close:r.func.isRequired,menu:r.arrayOf(r.shape({})).isRequired};var ct=w(st)(SearchPanel);function Navigation(a){let{classes:r,sections:o,loading:l,username:s,myStuff:c,seenNotifications:u,unseenNotifications:d,markNotificationSeen:p,authRoot:m}=a;const[g,E]=e.useState(!1),[h,y]=e.useState(),{enqueueSnackbar:f,closeSnackbar:b}=z.useSnackbar();if(o){const e=o.map(e=>e.id),handleClick=e=>{y(e.currentTarget)},handleClose=()=>{y()},handleSignOut=()=>{window.location.assign("".concat(m,"account/logout"))},actions=(e,a)=>t.createElement(t.Fragment,null,t.createElement(n,{variant:"contained",onClick:()=>{window.location=$e.getSelfHref(a)}},"View"),t.createElement(n,{onClick:()=>{b(e),localStorage.setItem(a.title,a.content),p(a)}},"Dismiss")),noNotifications=()=>!u&&!d||u.length+d.length===0,queueNotifications=()=>{noNotifications()?f("No notifications to show!",{anchorOrigin:{vertical:"bottom",horizontal:"right"},variant:"info",preventDuplicate:!0}):d.concat(u).forEach((e,t)=>{setTimeout(()=>{f("".concat(e.title," ").concat(e.content),{anchorOrigin:{vertical:"bottom",horizontal:"right"},ContentProps:{classes:{root:localStorage.getItem(e.title)?r.snackbarSeen:r.snackbarNew}},action:t=>actions(t,e),preventDuplicate:!0})},200*t)})};return t.createElement(t.Fragment,null,t.createElement(ce,{onClickAway:()=>E(!1)},t.createElement("div",{className:"hide-when-printing"},t.createElement("div",{className:r.root},o&&!l&&t.createElement(se,{position:"static",classes:{root:r.appBar}},t.createElement(pe,{classes:{gutters:r.toolbar}},t.createElement(F,{container:!0,alignItems:"center",justifyContent:"space-between",spacing:3,classes:{container:r.container}},t.createElement(F,{item:!0,xs:9},t.createElement(le,{classes:{root:r.tabs},value:g,onChange:(e,t)=>{E(g!==t&&t)},scrollButtons:"auto",variant:"scrollable",indicatorColor:"primary",textColor:"primary"},o.map(e=>t.createElement(ie,{id:e.id,key:e.id,classes:{root:r.tab},label:t.createElement("span",{className:r.tabLabel},e.title),selected:!1})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(ge,{className:r.icons,"aria-owns":h?"simple-menu":void 0,onClick:handleClick,id:o.length,key:o.length}))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(me,{badgeContent:d?d.length:0,color:"primary",variant:"dot"},t.createElement(Ee,{className:r.icons,onClick:queueNotifications})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(te,{className:r.icons,onClick:()=>E(o.length)}))),t.createElement(ue,{id:"simple-menu",anchorEl:h,open:Boolean(h),onClose:handleClose},t.createElement(de,{onClick:handleClose},s),s&&c.groups.map(e=>t.createElement("span",{key:e.items[0].href},t.createElement("a",{href:e.items[0].href},t.createElement(de,{onClick:handleClose},e.items[0].title)))),t.createElement(de,{onClick:handleSignOut},"Sign Out"))))),e.map((e,a)=>g===a&&t.createElement(it,{key:e,section:o.find(t=>t.id===e),id:e,style:{align:"right"},anchorEl:e.id,close:()=>E(!1)})),g===o.length&&t.createElement(ct,{menu:o,close:()=>E(!1)})))))}return t.createElement("div",{className:r.root},t.createElement(se,{position:"static",color:"default"},t.createElement(pe,{classes:{gutters:r.toolbar}})))}Navigation.propTypes={classes:r.shape({snackbarNew:r.string,snackbarSeen:r.string,root:r.string,tabs:r.string,tab:r.string,tabLabel:r.string,toolbar:r.string,container:r.string,appBar:r.string,icons:r.string}).isRequired,sections:r.arrayOf(r.shape({})),history:r.shape({}).isRequired,loading:r.bool,username:r.string,myStuff:r.shape({groups:r.arrayOf(r.shape({}))}),seenNotifications:r.arrayOf(r.shape({})),unseenNotifications:r.arrayOf(r.shape({})),markNotificationSeen:r.func.isRequired,authRoot:r.string.isRequired},Navigation.defaultProps={sections:null,myStuff:null,seenNotifications:[],unseenNotifications:[],loading:!1,username:""};var ut=w(e=>({root:{position:"absolute",width:"100%",top:0,zIndex:10},tabLabel:{fontSize:e.typography.fontSize,color:e.palette.grey[200]},snackbarNew:{background:e.palette.primary.dark,width:"800px"},snackbarSeen:{width:"800px"},panel:{position:"relative"},menuButton:{marginLeft:-12,marginRight:20},tab:{...e.mixins.toolbar,minWidth:"100px"},toolbar:{paddingLeft:0,paddingRight:0},tabs:{...e.mixins.toolbar,paddingLeft:40},container:{width:"100%"},appBar:{backgroundColor:e.palette.grey[800]},icons:{cursor:"pointer",color:"white"}}))(Navigation);var dt={appRoot:"",...window.APPLICATION_SETTINGS};const pt={initialise:e=>e=>{e(fetchMenu(0,dt.proxyRoot)),e(fetchNews(0,dt.proxyRoot))},markNotificationSeen:markNotificationSeen};var mt=oe.withRouter(re.connect(e=>({sections:rt.getSections(e),myStuff:rt.getMyStuff(e),username:getUsername(e),loading:rt.getMenuLoading(e),seenNotifications:ot.getSeenNotifications(e),unseenNotifications:ot.getUnseenNotifications(e),authRoot:dt.authorityUri}),pt)(initialiseOnMount(ut)));const getItemError=(e,t)=>{const{errors:a}=e;return a&&a.itemErrors&&a.itemErrors.find(e=>e.item&&e.item===t)||null},gt=T.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?{...t,maxHeight:e.maxHeight}:t}}));function SelectedItemsList(e){let{items:a,removeItem:n,title:r,maxHeight:o}=e;const l=gt({maxHeight:o});return t.createElement(t.Fragment,null,t.createElement(i,{variant:"body1"},r),t.createElement(L,{dense:!0,className:l.list},a.map(e=>t.createElement(t.Fragment,null,t.createElement(N,{key:e.id?e.id:e},t.createElement(ye,{primary:e.displayText?e.displayText:e}),n?t.createElement(he,null,t.createElement(W,{edge:"end","aria-label":"delete",onClick:()=>n(e.Id?e.Id:e)},t.createElement(fe,null))):""),t.createElement(B,null)))))}SelectedItemsList.propTypes={items:r.arrayOf(r.oneOfType([r.string,r.shape({})])),removeItem:r.func,title:r.string,maxHeight:r.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const Et=T.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),ht=T.createTheme({palette:{primary:{main:"#FF9494"}}}),yt=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,clearSearch:u,onAccept:d}=a;const[p,m]=e.useState(),[g,E]=e.useState(!1),h=yt();useSearch(s,p,u);const handleClose=()=>{E(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{E(!0)},variant:"outlined",className:h.button},t.createElement(K,null))),t.createElement(V,{open:g,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:h.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:h.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(Re,{theme:!p||l?Oe:1===c.length?Et:ht},t.createElement(InputField,{onChange:function(){m(arguments.length<=1?void 0:arguments[1])},label:"",value:p})),1===c.length&&t.createElement(Re,{theme:Et},t.createElement(W,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void E(!1);var e}},t.createElement(be,{color:"primary"}))),p&&t.createElement(W,{"aria-label":"Close",onClick:()=>{u(),m("")}},t.createElement(H,null)),l&&t.createElement(Loading,null)))))}function TableWithInlineEditing(a){let{content:r,columnsInfo:l,updateContent:i,allowedToEdit:s,allowedToCreate:c,allowedToDelete:E}=a;const[h,y]=e.useState(""),handleRowChange=(e,t,a)=>{var n,o;const s={...r[a],[e]:t},c=null===(n=(o=l.find(t=>t.key===e)).updateValues)||void 0===n?void 0:n.call(o,t);if(c)for(let e=0;e<c.length;e+=1)s[c[e].propertyName]=c[e].value;i(r.slice(0,a).concat(s).concat(r.slice(a+1,r.length+1)))},handleRemoveRow=e=>{i(r.slice(0,e).concat(r.slice(e+1,r.length+1)))},switchToEditingDifferentCell=e=>{y(e)},clearEditingCell=()=>{y("")};return t.createElement(u,null,t.createElement(m,{key:"headers",onClick:clearEditingCell},t.createElement(g,null,l.map(e=>t.createElement(p,{key:e.key},e.title)),E&&t.createElement(p,{key:"Deleteplaceholdercell"}))),t.createElement(d,null,r.map((e,a)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:a,updateField:handleRowChange,columnsInfo:l,currentlyEditing:h,changeCell:switchToEditingDifferentCell,allowedToEdit:s,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:E})),c&&t.createElement(g,null,t.createElement(p,null,t.createElement(o,{title:"Add new row","aria-label":"add"},t.createElement(n,{onClick:()=>{let e={id:(new Date).getTime()};l.forEach(t=>{e={...e,[t.key]:null}}),i(r.concat(e))}},t.createElement(we,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onAccept:r.func.isRequired,clearSearch:r.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number])})),updateContent:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number])})).isRequired,allowedToEdit:r.bool.isRequired,allowedToCreate:r.bool,allowedToDelete:r.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=a=>{let{rowContent:r,rowIndex:l,updateField:i,columnsInfo:s,currentlyEditing:u,changeCell:d,allowedToEdit:m,clearEditingCell:E,removeRow:h,allowedToDelete:y}=a;const f=c.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{i(e,t,l)};return t.createElement(g,{key:r.id},r!=={}&&s&&(m?t.createElement(t.Fragment,null,s.map((a,n)=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,{onClick:()=>d("".concat(l).concat(a.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?E():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(l).concat(s[t-1].key):"".concat(l-1).concat(s[s.length-1].key)):"Tab"===e.key&&(t<s.length-1?d("".concat(l).concat(s[t+1].key)):d("".concat(l+1).concat(s[0].key)))})(e,n),className:f.pointer},u!=="".concat(l).concat(a.key)?t.createElement("span",{id:"outer".concat(l,"-").concat(n),name:a.key},r[a.key]):t.createElement("div",{id:"inner".concat(l,"-").concat(n)},"dropdown"===a.type?t.createElement(Dropdown,{onChange:handleCellChange,items:a.options,value:r[a.key],disabled:a.notEditable,required:a.required,propertyName:a.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(InputField,{type:a.type,value:r[a.key],disabled:a.notEditable,required:a.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:a.key}))))),y&&t.createElement(p,{key:"DeleteIcon"},t.createElement(o,{title:"Delete row","aria-label":"add"},t.createElement(n,{onClick:()=>{h(l)}},t.createElement(fe,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,s.map(a=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,null,t.createElement("span",{name:a.key,className:f.notClickable},r[a.key])))))))};function cloneDate(e){return O.isMoment(e)?e.clone():O(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:r.shape({id:r.oneOfType([r.string,r.number])}),rowIndex:r.number.isRequired,updateField:r.func.isRequired,currentlyEditing:r.string.isRequired,changeCell:r.func.isRequired,allowedToEdit:r.bool.isRequired,clearEditingCell:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number]),notEditable:r.bool,updateValues:r.func})).isRequired,removeRow:r.func.isRequired,allowedToDelete:r.bool.isRequired},Row.defaultProps={rowContent:{}};const ft=c.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker(e){let{selectedDate:a,setWeekStartDate:n,propertyName:r,label:o,disabled:l,required:i}=e;const s=ft();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:s.label},required:i},o),t.createElement(j.KeyboardDatePicker,{autoOk:!0,disabled:l,margin:"dense",inputVariant:"outlined",value:a?O(a):null,onChange:e=>{n(r,getWeekStartDate(e))},renderDay:(e,a,n)=>{const r=getWeekStartDate(a),o=getWeekEndDate(a),l=e.isBetween(r,o,"days","[]"),i=e.isSame(r,"day"),c=e.isSame(o,"day"),u=Te({[s.highlight]:l,[s.firstHighlight]:i,[s.endHighlight]:c}),d=Te(s.day,{[s.nonCurrentMonthDay]:!n,[s.highlightNonCurrentMonthDay]:!n&&l});return t.createElement("div",{className:u},t.createElement(U.IconButton,{className:d},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:r.oneOfType([r.shape({}),r.string]),setWeekStartDate:r.func.isRequired,propertyName:r.string,label:r.string,disabled:r.bool,required:r.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var a=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===a&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const bt={minWidth:"120px"};function EditableTableCell(a){var n;let{column:r,item:l,editable:i,editing:s,isNewRow:c,handleValueChange:u,...d}=a;const Content=()=>s&&r.editable&&i||c&&s&&r.required?function inputComponentFactory(e,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4?arguments[4]:void 0;switch(a.type){case"text":return t.createElement(InputField,{value:e[a.id],onChange:n,fullWidth:!0,rows:r,propertyName:a.id,required:a.required});case"number":return t.createElement(InputField,{value:e[a.id],type:"number",onChange:n,propertyName:a.id,required:a.required});case"date":return t.createElement(DatePicker,{value:e[a.id]||null,onChange:e=>n(a.id,e),required:a.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[a.id]||null,setWeekStartDate:n,propertyName:a.id,required:a.required});case"search":return t.createElement(Typeahead,{clearSearch:()=>a.clearSearch,fetchItems:a.search,items:a.searchResults,links:!1,loading:a.searchLoading,modal:!0,onSelect:t=>a.selectSearchResult(a.id,t,e),propertyName:a.id,title:a.searchTitle,value:e[a.id],required:a.required,minimumSearchTermLength:a.minimumSearchTermLength});case"dropdown":return t.createElement(Dropdown,{fullWidth:!0,value:e[a.id],onChange:n,items:a.options,propertyName:a.id,required:a.required});case"component":return t.createElement(a.component,_extends({value:e[a.id],onChange:e=>n(a.id,e),required:a.required},o));default:return""}}(l,r,u,r.textFieldRows,d):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?O(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,r),m=null!==(n=r.style)&&void 0!==n&&n.body?{...bt,...r.style.body}:bt;return r.tooltip?t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(o,{title:r.tooltip(l)||""},t.createElement(p,{id:r.type,key:"".concat(null==r?void 0:r.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(p,{id:r.type,style:m},Content()))}EditableTableCell.propTypes={column:r.shape({tooltip:r.func,id:r.oneOfType([r.number,r.string]),editable:r.bool,type:r.string,required:r.bool,textFieldRows:r.number,style:r.shape({body:r.shape({})})}).isRequired,item:r.shape({id:r.oneOfType([r.string,r.number])}).isRequired,editable:r.bool,editing:r.bool,isNewRow:r.bool,handleValueChange:r.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const Rt=r.shape({id:r.oneOfType([r.number,r.string]).isRequired,type:r.string.isRequired,component:r.func,editable:r.bool,options:r.arrayOf(r.oneOfType([r.shape({}),r.string,r.number])),required:r.bool,searchLoading:r.bool,searchResults:r.arrayOf(r.shape({})),searchTitle:r.string,tooltip:r.oneOfType([r.string,r.func]),clearSearch:r.func,closeRowOnClickAway:r.func,search:r.func,selectSearchResult:r.func,minimumSearchTermLength:r.number,textFieldRows:r.number,componentViewDisplay:r.oneOf(["value","nothing"])}),wt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?Ce.green[50]:e.toBeDeleted?Ce.red[50]:"transparent"}}));function GroupEditableTableRow(a){let{row:r,columns:l,editable:i,updateRow:s,validateRow:c,removeRow:u,isRowValid:d,resetRow:m,deleteRowPreEdit:E,handleEditClick:h,setRowToBeSaved:y,setRowToBeDeleted:f,removeRowOnDelete:b,closeRowOnClickAway:R,editOnRowClick:w,...T}=a;const[S,k]=e.useState(),C=e.useRef(),v=wt({toBeSaved:r.toBeSaved,toBeDeleted:r.toBeDeleted});e.useEffect(()=>{C.current=d},[d]),e.useEffect(()=>{if(r.editing){let e=!0;c&&(e=c(r)),l.forEach(t=>{!0!==t.required||r[t.id]||(e=!1)}),C.current&&r.id&&C.current(e,r.id),k(e)}},[c,l,r]);const handleValueChange=(e,t)=>{s(r,null,e,t)},handleEditButtonClick=()=>{h(r.id,!0)},handleDeleteClick=()=>{b||r.isNewRow?u(r.id):f(r.id,!0)},deleteButtonEnabled=()=>!r.toBeDeleted&&!r.toBeSaved;return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&R&&R&&r.editing&&h(r.id,!1)})(e)},t.createElement(g,{onClick:!r.editing&&w&&!E&&handleEditButtonClick,classes:{root:v.row}},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:r,editable:i,editing:r.editing,handleValueChange:handleValueChange},T))),i&&(r.editing?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{y(r.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:v.button},disabled:!(S&&!r.toBeDeleted&&!r.toBeSaved),"data-testid":"saveButton"},t.createElement(Se,{fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{r.isNewRow?u(r.id):m(r)},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),u&&t.createElement(p,null,t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),u&&E&&t.createElement(p,null,t.createElement(o,{title:"Remove Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function GroupEditTable(a){let{columns:r,rows:o,editable:l,updateRow:i,validateRow:s,deleteRow:c,allowNewRowCreation:h,addRow:y,tableValid:f,removeRow:b,resetRow:R,closeRowOnClickAway:w,deleteRowPreEdit:T,handleEditClick:S,setRowToBeSaved:k,setRowToBeDeleted:C,removeRowOnDelete:v,editOnRowClick:_,...x}=a;const[A,D]=e.useState([]);e.useEffect(()=>{f&&f(!A.some(e=>!e.valid))},[A,f]);const handleRemoveRow=e=>{b(e)},handleIsRowValid=(e,t)=>{A.some(e=>e.id===t)?D(A.map(a=>a.id===t?{...a,valid:e}:a)):D([...A,{id:t,valid:e}]),f&&f(!A.some(e=>!e.valid))};return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{style:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),c&&t.createElement(p,null))),t.createElement(d,null,o.map(e=>t.createElement(GroupEditableTableRow,_extends({key:e.id,row:e,columns:r,editable:l,updateRow:i,validateRow:s,removeRow:b?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:R,deleteRowPreEdit:T,handleEditClick:S,setRowToBeDeleted:C,setRowToBeSaved:k,removeRowOnDelete:v,closeRowOnClickAway:w,editOnRowClick:_},x))),l&&h&&t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>{y()},"data-testid":"addButton"},t.createElement(we,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number]),toBeDeleted:r.bool,toBeSaved:r.bool,isNewRow:r.bool}).isRequired,columns:r.arrayOf(Rt).isRequired,updateRow:r.func.isRequired,editable:r.bool,removeRow:r.func,validateRow:r.func,isRowValid:r.func,resetRow:r.func,deleteRowPreEdit:r.bool,handleEditClick:r.func,setRowToBeDeleted:r.func,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,closeRowOnClickAway:r.bool,editOnRowClick:r.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,handleEditClick:r.func.isRequired,editable:r.bool,updateRow:r.func,validateRow:r.func,deleteRow:r.func,allowNewRowCreation:r.bool,addRow:r.func,tableValid:r.func,removeRow:r.func,resetRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,setRowToBeDeleted:r.func.isRequired,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,editOnRowClick:r.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const Tt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(a){let{row:r,columns:l,saveRow:i,editable:s,isNewRow:c,removeRow:u,updateRow:d,validateRow:m,deleteRow:E,closeRowOnClickAway:h,deleteRowPreEdit:y,editOnRowClick:f,...b}=a;const[R,w]=e.useState(!1),[T,S]=e.useState({}),[k,C]=e.useState({});e.useEffect(()=>{C(r),S(r),c&&w(!0)},[r,c]);const v=Tt(),handleDeleteClick=()=>{E(k.id)},handleValueChange=(e,t)=>{d?d(k,C,e,t):C({...k,[e]:t})},handleEditButtonClick=()=>{w(!0)};return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&h&&h&&w(!1)})(e)},t.createElement(g,{onClick:!R&&f&&!y&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:k,editable:s,editing:R,isNewRow:c,handleValueChange:handleValueChange},b))),s&&(R?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{i(k)},color:"primary",variant:"contained",size:"small",classes:{root:v.button},disabled:!(()=>{let e=!0;return m&&(e=m(k)),l.forEach(t=>{!0!==t.required||k[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(be,{style:{color:Ce.grey[50]},fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{c?u(k.id):(w(!1),C(T))},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),E&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),!c&&E&&y&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function SingleEditTable(a){let{columns:r,rows:o,saveRow:l,createRow:i,editable:s,newRow:c,updateRow:h,validateRow:y,deleteRow:f,allowNewRowCreation:b,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T,newRowPosition:S,...k}=a;const[C,v]=e.useState(!1),handleRemoveRow=()=>{v(!1)},renderNewRow=()=>C?t.createElement(SingleEditableTableRow,_extends({row:c,columns:r,saveRow:i,editable:s,isNewRow:!0,updateRow:h,validateRow:y,removeRow:handleRemoveRow,editOnRowClick:T},k)):t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>v(!0),"data-testid":"addButton"},t.createElement(we,{size:"small"}))));return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),f&&t.createElement(p,null))),t.createElement(d,null,"top"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "),o.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:r,saveRow:l,editable:s,updateRow:h,validateRow:y,deleteRow:f,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T})),"bottom"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number])}).isRequired,columns:r.arrayOf(Rt).isRequired,saveRow:r.func,editable:r.bool,isNewRow:r.bool,removeRow:r.func,updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,saveRow:r.func,createRow:r.func,editable:r.bool,newRow:r.shape({}),updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeEditingOnSave:r.bool,allowNewRowCreation:r.bool,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool,newRowPosition:r.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const St={menu:menu,news:news};exports.BackButton=BackButton,exports.Breadcrumbs=Breadcrumbs,exports.CheckboxWithLabel=Ve,exports.CollectionSelectors=function CollectionSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getItems=t=>{const a=t[e];return a&&a.items?a.items:[]},this.getSearchItems=function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=t[e];return n?a?n.searchItems?n.searchItems.slice(0,a):[]:n.searchItems?n.searchItems:[]:[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getSearchLoading=t=>{const a=t[e];return a?a.searchLoading:null},this.getLinks=t=>{const a=t[e];return a&&a.links?a.links:[]},this.hasPrivilege=(e,t)=>{const a=this.getLinks(e);return!!a&&a.some(e=>e.rel===t)},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.CreateButton=Ge,exports.DatePicker=DatePicker,exports.DateTimePicker=DateTimePicker,exports.Dropdown=Dropdown,exports.EntityList=EntityList,exports.ErrorCard=Le,exports.ExportButton=ExportButton,exports.FetchApiActions=function FetchApiActions(e,t,a,n,r,o){this.fetch=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchById=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchPage=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchSortedPage=(l,i,s,c)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i,"/").concat(s,"/").concat(c),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.search=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.searchWithOptions=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l).concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.clearSearch=()=>({type:n["CLEAR_SEARCH_".concat(t)],payload:{}}),this.clearItems=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.GroupEditTable=GroupEditTable,exports.InputField=InputField,exports.ItemSelectors=function ItemSelectors(e){this.getItem=t=>{const a=t[e];return a&&a.item?a.item:null},this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getEditStatus=t=>{const a=t[e];return a?a.editStatus?a.editStatus:"view":null},this.getSnackbarVisible=t=>{const a=t[e];return a?a.snackbarVisible:null},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.ItemType=function ItemType(e,t,a){this.item=e,this.actionType=t,this.uri=a},exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.Loading=Loading,exports.MultiReportTable=MultiReportTable,exports.Navigation=mt,exports.NotFound=function NotFound(){return t.createElement(F,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(Title,{text:"Page not found"}))},exports.OnOffSwitch=OnOffSwitch,exports.Page=Page,exports.PaginatedTable=PaginatedTable,exports.PaginationSelectors=function PaginationSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getPage=t=>{const a=t[e].page;return a||null},this.getItems=t=>{const a=t[e].page.elements;return a||[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null}},exports.ProcessActions=function ProcessActions(e,t,a,n,r){this.requestProcessStart=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:o?JSON.stringify(o):"",types:[requested(n,t),receivedProcess(n,t,e),error(n,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:n["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const a=t[e];return a?a.working:null},this.getMessageVisible=t=>{const a=t[e];return a?a.messageVisible:null},this.getMessageText=t=>{const a=t[e];return a?a.messageText:null},this.getData=t=>{const a=t[e];return a?a.data:null}},exports.ReportActions=function ReportActions(e,t,a,n,r){this.fetchReport=o=>({[ae.RSAA]:{endpoint:o?"".concat(r).concat(a,"?").concat(ne.stringify(o)):"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/json"},types:[requestReport(n,t,o),received(n,t,e),error(n,t,e)]}})},exports.ReportSelectors=function ReportSelectors(e){this.getReportState=t=>t[e]||{},this.getReportData=e=>{const t=this.getReportState(e);return t.results?t.results.data:null},this.getReportLoading=e=>{const t=this.getReportState(e);return!!t.results&&t.results.loading},this.getReportOptions=e=>this.getReportState(e).options},exports.ReportTable=ReportTable,exports.SaveBackCancelButtons=SaveBackCancelButtons,exports.SearchInputField=SearchInputField,exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.SnackbarMessage=SnackbarMessage,exports.StateApiActions=function StateApiActions(e,t,a,n,r,o){this.fetchState=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(o),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[requestedState(n,t),receivedState(n,t,e),error(n,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.Title=Title,exports.Typeahead=Typeahead,exports.TypeaheadDialog=TypeaheadDialog,exports.TypeaheadTable=TypeaheadTable,exports.UpdateApiActions=function UpdateApiActions(e,t,a,n,r,o){this.fetch=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByHref=a=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByQueryString=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?").concat(l,"=").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.add=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o),types:[requestAdd(n,t),receiveAdded(n,t,e),error(n,t,e)]}}),this.update=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"PUT",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l),types:[requestUpdate(n,t),receiveUpdated(n,t,e),error(n,t,e)]}}),this.delete=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"DELETE",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):null,types:[requestDelete(n,t),receiveDeleted(n,t,e),error(n,t,e)]}}),this.reset=()=>({type:n["RESET_".concat(t)],payload:{}}),this.setEditStatus=e=>({type:n["SET_".concat(t,"_EDIT_STATUS")],payload:e}),this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.create=()=>({type:n["REQUEST_CREATE_".concat(t)],payload:{}}),this.setSnackbarVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_SNACKBAR")],payload:{}}:{type:n["HIDE_".concat(t,"_SNACKBAR")],payload:{}},this.clearItem=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ValidatedInputDialog=ValidatedInputDialog,exports.collectionStoreFactory=function collectionStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data)};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data)};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.collectionWithLinksStoreFactory=function collectionWithLinksStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[],links:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.errorTheme=Pe,exports.fetchErrorReducer=function fetchErrorReducerFactory(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{requestErrors:[],itemErrors:[]};return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,n=arguments.length>1?arguments[1]:void 0;if(n.payload){if(n.payload.error&&e[n.payload.error.item]&&n.type==="FETCH_".concat(e[n.payload.error.item].actionType,"_ERROR"))return{...a,itemErrors:[...a.itemErrors,n.payload.error]};if(n.payload.item&&e[n.payload.item]){const t=e[n.payload.item];if(receiveTypes(t.actionType).indexOf(n.type)>-1)return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)};if(n.type==="CLEAR_".concat(t.actionType,"_ERRORS"))return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)}}}return"CLEAR_ITEM_ERRORS"===n.type?{...a,itemErrors:[]}:n.error?{...a,requestErrors:[...a.requestErrors,{...n.payload,type:n.type}]}:n.error?a:{...a,requestErrors:a.requestErrors.filter(e=>e.type!==n.type)}}},exports.fetchMenu=fetchMenu,exports.fetchNews=fetchNews,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var a,n,r,o,l;return(null===(a=getItemError(e,t))||void 0===a||null===(n=a.details)||void 0===n?void 0:n.message)||(null===(r=getItemError(e,t))||void 0===r||null===(o=r.details)||void 0===o||null===(l=o.errors)||void 0===l?void 0:l[0])||null},exports.getItemErrors=e=>{const{errors:t}=e;if(!t||!t.itemErrors)return null;const a=t.itemErrors;return a.length>0?a:null},exports.getPreviousPaths=e=>{const{historyStore:t}=e;return t},exports.getRequestErrors=e=>{const{errors:t}=e;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getUsername=getUsername,exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.initialiseOnMount=initialiseOnMount,exports.itemStoreFactory=function itemStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,item:null,editStatus:"view",snackbarVisible:!1};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_ADD_".concat(e)]:return{...n,loading:!0,editStatus:"create"};case t["REQUEST_CREATE_".concat(e)]:return{...n,loading:!1,item:null,editStatus:"create"};case t["REQUEST_".concat(e)]:return{...n,item:null,loading:!0,editStatus:"view"};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["REQUEST_UPDATE_".concat(e)]:case t["REQUEST_DELETE_".concat(e)]:return{...n,loading:!0};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};case t["SET_".concat(e,"_EDIT_STATUS")]:return{...n,editStatus:r.payload};case t["RESET_".concat(e)]:return{...n,editStatus:"view"};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view"};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["RECEIVE_UPDATED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["RECEIVE_DELETED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"deleted",snackbarVisible:!0};case t["RECEIVE_NEW_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["SHOW_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!0};case t["HIDE_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return a}return n}},exports.linnTheme=Oe,exports.makeActionTypes=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n={};return n["REQUEST_".concat(e)]="REQUEST_".concat(e),n["REQUEST_APPLICATION_STATE_".concat(e)]="REQUEST_APPLICATION_STATE_".concat(e),n["RECEIVE_".concat(e)]="RECEIVE_".concat(e),n["RECEIVE_APPLICATION_STATE_".concat(e)]="RECEIVE_APPLICATION_STATE_".concat(e),n["REQUEST_SEARCH_".concat(e)]="REQUEST_SEARCH_".concat(e),n["RECEIVE_SEARCH_".concat(e)]="RECEIVE_SEARCH_".concat(e),n["CLEAR_SEARCH_".concat(e)]="CLEAR_SEARCH_".concat(e),n["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),n["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),n["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t&&(n["REQUEST_ADD_".concat(e)]="REQUEST_ADD_".concat(e),n["REQUEST_CREATE_".concat(e)]="REQUEST_CREATE_".concat(e),n["REQUEST_UPDATE_".concat(e)]="REQUEST_UPDATE_".concat(e),n["RECEIVE_UPDATED_".concat(e)]="RECEIVE_UPDATED_".concat(e),n["RESET_".concat(e)]="RESET_".concat(e),n["RECEIVE_NEW_".concat(e)]="RECEIVE_NEW_".concat(e),n["SET_".concat(e,"_EDIT_STATUS")]="SET_".concat(e,"_EDIT_STATUS"),n["SHOW_".concat(e,"_SNACKBAR")]="SHOW_".concat(e,"_SNACKBAR"),n["HIDE_".concat(e,"_SNACKBAR")]="HIDE_".concat(e,"_SNACKBAR")),a&&(n["REQUEST_DELETE_".concat(e)]="REQUEST_DELETE_".concat(e),n["RECEIVE_DELETED_".concat(e)]="RECEIVE_DELETED_".concat(e)),n},exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.makeReportActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t},exports.markNotificationSeen=markNotificationSeen,exports.menu=menu,exports.menuSelectors=rt,exports.news=news,exports.newsSelectors=ot,exports.paginationStoreFactory=function paginationStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,page:{elements:[]}};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>{if("undefined"!==e.elements){const t=e.elements.map(e=>makeItem(e));return{...e,elements:t}}return e};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,page:getItems(r.payload.data)}}return n}},exports.processStoreFactory=function processStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{working:!1,messageText:"",messageVisible:!1},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Completed successfully";const getMessage=e=>e.data&&e.data.message?e.data.message:n;return function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,o=arguments.length>1?arguments[1]:void 0;switch(o.type){case t["REQUEST_".concat(e)]:return{...r,working:!0,data:null};case t["RECEIVE_".concat(e)]:return{...r,working:!1,messageText:getMessage(o.payload),messageVisible:!0,data:o.payload.data};case t["SHOW_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!0};case t["HIDE_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return{...r,working:!1,messageText:n,messageVisible:!1,data:null};case t["FETCH_".concat(e,"_ERROR")]:return{...r,working:!1}}return r}},exports.reducers=St,exports.reportOptionsFactory=function reportOptionsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...r.payload.options};default:return n}}},exports.reportResultsFactory=function reportResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults?r.payload.data.reportResults[0]:r.payload.data};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.reportsResultsFactory=function reportsResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.smartGoBack=(e,t)=>{var a;null!=e&&null!==(a=e[e.length-1])&&void 0!==a&&a.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=t=>{let{rows:a,defaultRow:n,setEditStatus:r}=t;const[o,l]=e.useState([]),[i,s]=e.useState();e.useEffect(()=>{l(a)},[a]);return{data:o,setData:l,addRow:()=>{r&&r("edit"),l(n?[...o,{...n,editing:!0,isNewRow:!0}]:[...o,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,a,n)=>{r&&r("edit"),l(()=>o.map(t=>t.id===e.id?{...t,[a]:n,editing:!0}:t))},replaceRow:(e,t)=>{r&&r("edit"),l(()=>o.map(a=>a.id===e.id?{...t,editing:!0}:a))},removeRow:e=>{r&&r("edit"),l(o.filter(t=>t.id!==e))},resetRow:e=>{const t=a.find(t=>t.id===e.id);l(()=>o.map(a=>a.id===e.id?{...t,editing:!1}:a))},setRowToBeDeleted:(e,t)=>{r&&r("edit"),l(o.map(a=>a.id===e?{...a,toBeDeleted:t,editing:!t}:a))},setRowToBeSaved:(e,t)=>{l(o.map(a=>a.id===e?{...a,toBeSaved:t,editing:!t}:a))},setEditing:(e,t)=>{l(a=>a.map(a=>a.id===e?{...a,editing:t,toBeSaved:!1,toBeDeleted:!1}:a))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{l(o.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{l(o.map(e=>!0===e.editing?{...a.find(t=>t.id===e.id),editing:!1}:e))},valid:i}},exports.useSearch=useSearch,exports.useTablePagination=function useTablePagination(t,a){const[n,r]=e.useState({orderBy:"",orderAscending:!1,currentPage:0,rowsPerPage:10});return e.useEffect(()=>{n.orderBy&&a?a(n.currentPage+1,n.rowsPerPage,n.orderBy,n.orderAscending):t(n.currentPage+1,n.rowsPerPage)},[n.currentPage,n.rowsPerPage,n.orderBy,n.orderAscending,t,a]),[n,r]},exports.utilities=$e;
|