{"version":3,"sources":["logo-horizontal.png","logo-horizontal.svg","Montserrat-Regular.ttf","Montserrat-Bold.ttf","components/NavMenu.js","components/Layout.js","components/Home.js","components/Login.js","components/New.js","components/IDInput.js","components/Recall.js","components/Update.js","components/SummaryItem.js","components/SummaryChangeItem.js","components/PDFSummary.js","components/FeedbackForm.js","components/LoadingWheel.js","components/Icons.js","components/Summary.js","components/ItemInput.js","components/Category.js","components/SchoolInput.js","components/ResponseMeta.js","components/Form.js","components/PrivateRoute.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","NavMenu","props","toggleNavbar","bind","state","collapsed","this","setState","className","src","logo","alt","Component","displayName","name","Layout","children","Home","href","LoginPopup","useState","setLoading","username","setUsername","password","setPassword","showError","setShowError","errorMessage","setErrorMessage","handleLogin","e","preventDefault","axios","post","withCredentials","then","response","onAuthenticated","catch","error","data","message","Dialog","open","aria-labelledby","maxWidth","DialogTitle","id","disableTypography","DialogContent","DialogContentText","TextField","autoFocus","margin","label","type","fullWidth","onChange","target","value","variant","onKeyPress","which","DialogActions","Button","onClick","Login","loading","history","useHistory","params","URLSearchParams","location","search","get","push","process","length","split","Container","htmlFor","disabled","New","class","sessionStorage","removeItem","IDInput","size","placeholder","onRecallIDChange","Recall","recallID","setRecallID","uniqueResponseID","Update","console","log","isInternal","SummaryItem","question","questionText","questionResponse","responseText","commentText","SummaryChangeItem","prevQuestionResponse","Fragment","Font","register","family","font","fontStyle","fontWeight","fontBold","dontBreak","word","SummaryDocument","styles","StyleSheet","create","body","paddingTop","paddingBottom","paddingHorizontal","fontFamily","title","fontSize","textAlign","color","table","display","width","marginBottom","borderStyle","borderWidth","borderColor","tableRowStyle","flexDirection","tableRowStyleShaded","backgroundColor","tableColStyle","excludeComment","borderLeftWidth","borderTopWidth","tableCellStyle","padding","firstTableColHeaderStyle","borderBottomColor","tableColHeaderStyle","firstTableColStyle","tableCellHeaderStyle","subtitle","marginTop","text","textBold","header","pageNumber","position","bottom","left","right","image","marginVertical","marginHorizontal","heigth","important","style","subjectCode","facultyText","schoolText","entity","appurl","uniqueID","categories","map","c","i","key","wrap","categoryText","questionResponses","questions","q","cid","parseInt","categoryID","returnjsx","forEach","qr","questionID","filterQuestions","showSupport","hyphenationCallback","dirty","div","document","createElement","innerHTML","links","getElementsByTagName","replace","cleanUp","categoryResources","render","totalPages","fixed","SummaryChangeDocument","lastTableColStyle","lastTableColHeaderStyle","responseMeta","faculty","unit","moment","prevResponseMeta","createdDate","format","find","prevqr","prevQuestionResponses","FeedbackForm","saved","setSaved","satisfaction","setSatisfaction","feedbackText","setFeedbackText","changeSatisfaction","rows","useStyles","makeStyles","theme","root","LoadingWheel","classes","CircularProgress","createStyles","spacing","DownloadIcon","SvgIcon","x1","y1","x2","y2","points","d","MailIcon","x","y","height","rx","ry","FeedbackIcon","Summary","setQuestionResponses","setPrevQuestionResponses","setCategories","setQuestions","combinedQuestions","setCombinedQuestions","foundID","setFoundID","loadingMessage","showFeedbackForm","setShowFeedbackForm","emailAddress","setEmailAddress","setAppurl","setResponseMeta","React","setValue","ducs","setDucs","setExcludeComment","useSnackbar","enqueueSnackbar","closeSnackbar","noAddressAlert","setNoAddressAlert","setSubjectCode","downloadLink","useRef","useParams","realID","useEffect","r","allques","sum","questionDisplayOrder","some","idtouse","allcat","cat","item","getSummaryBlob","pdf","toBlob","action","Paper","square","elevation","Tabs","event","newValue","aria-label","Tab","dangerouslySetInnerHTML","__html","IconButton","disableRipple","disableFocusRipple","pdfalert","persist","blob","reader","FileReader","onloadend","e2","rawLog","result","current","download","click","readAsDataURL","ref","emailalert","r2","ItemInput","expand","setExpand","setCommentText","setResponseText","handleItemChange","maxLength","questionInfo","Category","category","titleRef","show","handleHeadingClick","index","blockRef","categoryInfo","cq","backToTop","SchoolInput","schools","setSchools","faculties","setFaculties","defaultFaculty","setDefaultFaculty","showSchool","setShowSchool","defaultSchool","filter","uniquefaculties","Set","handleFacultyChange","handleSchoolChange","f","prepareFaculties","s","schoolID","prepareSchools","ResponseMeta","errors","indexOf","haveUsedBefore","updateField","use","entities","entityID","entityText","includes","Form","useReducer","newState","uniqueResponse","setUniqueResponse","setEntities","showAll","setShowAll","showMeta","setShowMeta","setErrors","setOpen","top","startSection","blockRefs","titleRefs","window","slice","qs","response2","getItem","JSON","parse","response3","qresponse","qid","field","scrollIntoView","save","isDraft","setItem","stringify","AccessToken","uniqueToken","status","err","PrivateRoute","authorized","setAuthorized","App","interceptors","config","method","pathname","Promise","reject","referrer","StylesProvider","injectFirst","exact","path","component","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","onUpdate","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","waiting","postMessage","baseUrl","getAttribute","rootElement","getElementById","NewVersionAlert","Snackbar","anchorOrigin","vertical","horizontal","onClose","ReactDOM","basename","URL","origin","addEventListener","fetch","headers","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker","appendChild"],"mappings":"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","file":"static/js/main.a1c6ec40.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo-horizontal.83b20e4b.png\";","module.exports = __webpack_public_path__ + \"static/media/logo-horizontal.80231edb.svg\";","module.exports = __webpack_public_path__ + \"static/media/Montserrat-Regular.ce984d34.ttf\";","module.exports = __webpack_public_path__ + \"static/media/Montserrat-Bold.9791dd18.ttf\";","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport './NavMenu.css';\r\nimport logo from '../logo-horizontal.svg'\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor (props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar () {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Digital Uplift Check (DUC) Tool

\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, useState, useEffect } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\n\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n \r\n render () {\r\n return (\r\n
\r\n \r\n {this.props.children} \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\n\r\nconst Home = (props) => { \r\n\r\n return (\r\n
\r\n\r\n

What would you like to do?

\r\n
\r\n Start a new DUC
\r\n

Complete a new DUC for your subject site.

\r\n Update an existing DUC\r\n

Update or complete your DUC.

\r\n Recall an existing DUC\r\n

Review the summary of a DUC you have completed before.

\r\n
\r\n

For more information about the design of the DUC Tool and how we keep it anonymous, see the Digital Uplift Check (DUC) Tool page on the L&T Hub.

\r\n \r\n
\r\n\r\n );\r\n \r\n}\r\n\r\n\r\nexport default Home;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { Container } from 'reactstrap';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\n\r\n\r\nconst Login = (props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [username, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n\r\n let history = useHistory();\r\n let params = new URLSearchParams(props.location.search);\r\n const handleLogin = (e) => {\r\n e.preventDefault(); \r\n setLoading(true);\r\n \r\n axios.post('api/auth/login', { username: username, password: password }, { withCredentials: true }).then(response => {\r\n if (params.get(\"origin\") == null) {\r\n history.push('home');\r\n }\r\n if (process.env.PUBLIC_URL.length > 0) {\r\n history.push(params.get(\"origin\").split(process.env.PUBLIC_URL)[1]);\r\n }\r\n else {\r\n history.push(params.get(\"origin\"));\r\n }\r\n }).catch(function (error) {\r\n setShowError(true); \r\n if (error.response) { \r\n setErrorMessage(error.response.data.message);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n const handleEnter = (e) => { \r\n if (e.which === 13) {\r\n handleLogin(e);\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n

Login

\r\n

Your UOW username and password are used solely for the purpose of authentication to ensure that only UOW staff are able to access the tool.

\r\n

To ensure your anonymity, your username and password are not stored within the tool and are not associated with any data records created by your use of the tool.

\r\n

Please login using your UOW username and password.

\r\n {showError ? Something went wrong: {errorMessage} : }\r\n


\r\n setUsername(e.target.value)} autoFocus />\r\n

\r\n

\r\n
\r\n setPassword(e.target.value)} onKeyPress={handleEnter} />\r\n

\r\n

\r\n \r\n
\r\n
\r\n
Back
\r\n
\r\n
\r\n\r\n )\r\n}\r\nconst LoginPopup = (props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [username, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n\r\n const handleLogin = (e) => {\r\n e.preventDefault();\r\n setLoading(true);\r\n\r\n axios.post('api/auth/login', { username: username, password: password }, { withCredentials: true }).then(response => {\r\n props.onAuthenticated();\r\n }).catch(function (error) {\r\n setShowError(true);\r\n if (error.response) {\r\n setErrorMessage(error.response.data.message);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n const handleEnter = (e) => {\r\n if (e.which === 13) {\r\n handleLogin(e);\r\n }\r\n }\r\n\r\n\r\n return (\r\n \r\n

Session time out

\r\n \r\n \r\n Your session has timed out, please login to avoid losing your progress.

\r\n Your UOW username and password are used solely for the purpose of authentication to ensure that only UOW staff are able to access the tool.

\r\n To ensure your anonymity, your username and password are not stored within the tool and are not associated with any data records created by your use of the tool.

\r\n Please login using your UOW username and password.

\r\n {showError ? Something went wrong: {errorMessage} : }\r\n \r\n \r\n \r\n
\r\n setUsername(e.target.value)}\r\n autoFocus\r\n variant=\"outlined\"\r\n />\r\n setPassword(e.target.value)} onKeyPress={handleEnter}\r\n\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nexport default Login;\r\nexport { LoginPopup };","import React, { useState, useEffect } from 'react';\r\nimport { useHistory } from \"react-router-dom\";\r\nconst New = () => {\r\n let history = useHistory();\r\n const handleNext = (e) => {\r\n e.preventDefault();\r\n sessionStorage.removeItem('uniqueResponse' +'0'); sessionStorage.removeItem('questionResponses' + '0');\r\n history.push('form/0/meta');\r\n }\r\n return (\r\n
\r\n
\r\n

How to use the DUC Tool

\r\n
    \r\n
  1. Follow the prompts to reflect on your chosen subject site.

  2. \r\n
  3. Export your summary.
    \r\n On the final screen of the tool, a summary of your responses will be displayed. You will be able to export this summary as a PDF or email.

    \r\n Included in this summary is a randomly generated, unique ID number. This number will be required to retrieve and/or update a completed DUC.
    \r\n
    Note: Your responses will remain anonymous so to view them later you'll need to save a copy on the final screen.
    \r\n\r\n
  4. \r\n
  5. Access support materials and uplift your site.
    \r\n Your summary will include links to curated resources to support the enhancement of your online learning environment.

    \r\n
  6. \r\n
  7. Update your DUC
    \r\n Return to the tool to update you DUC summary.\r\n
  8. \r\n
\r\n \r\n
\r\n\r\n
\r\n
Back
\r\n
Next
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n )\r\n \r\n}\r\nexport default New;","import React, { useState, useEffect } from 'react';\r\n\r\n\r\nconst IDInput = (props) => {\r\n\r\n return (\r\n
props.onRecallIDChange(e.target.value)} />\r\n
\r\n )\r\n}\r\nexport default IDInput;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport IDInput from './IDInput';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from 'axios';\r\nconst Recall = (props) => {\r\n const [showHelp, setShowHelp] = useState(false);\r\n const [recallID, setRecallID] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n let history = useHistory();\r\n\r\n const handleShowHelp = (e) => {\r\n e.preventDefault(); \r\n setShowHelp(true);\r\n \r\n }\r\n const handleClose = (e) => {\r\n e.preventDefault(); \r\n setShowHelp(false);\r\n \r\n }\r\n const handleNext = (e) => {\r\n e.preventDefault();\r\n if (recallID == '') {\r\n setShowError(true);\r\n setErrorMessage('Please enter a valid Unique ID');\r\n } else {\r\n // recall the latest only\r\n axios.get('api/uniqueresponse/' + recallID, { withCredentials: true }).then(response => {\r\n history.push('/summary/recall/' + recallID + '/' + response.data.uniqueResponseID);\r\n }).catch(error => {\r\n setShowError(true);\r\n setErrorMessage(\"Invalid Unique ID, please try again.\");\r\n });\r\n }\r\n }\r\n const onRecallIDChange = (value) => {\r\n setRecallID(value);\r\n }\r\n return ( \r\n
\r\n \r\n \r\n

Recall an existing DUC

\r\n

To review a DUC that you have completed previously, enter your unique ID below and click Next to continue.

\r\n

The unique ID is the short numerical code displayed on the summary of your previously completed DUC.

\r\n {showError ? {errorMessage} : }\r\n \r\n
\r\n Can't find your unique ID? Start a new DUC.\r\n
\r\n\r\n
\r\n
Back
\r\n
Next
\r\n
\r\n \r\n
\r\n )\r\n}\r\nexport default Recall;","import React, { useState, useEffect } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport IDInput from './IDInput';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from 'axios';\r\nconst Update = (props) => {\r\n const [showHelp, setShowHelp] = useState(false);\r\n const [recallID, setRecallID] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [foundID, setFoundID] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n let history = useHistory();\r\n\r\n const handleShowHelp = (e) => {\r\n e.preventDefault(); \r\n setShowHelp(true);\r\n \r\n }\r\n const handleClose = (e) => {\r\n e.preventDefault(); \r\n setShowHelp(false);\r\n \r\n }\r\n const handleNext = (e) => {\r\n e.preventDefault();\r\n if (recallID == '') {\r\n setShowError(true);\r\n setErrorMessage('Please enter a Unique Identifier');\r\n } else {\r\n // recall the latest only\r\n axios.get('api/uniqueresponse/' + recallID, { withCredentials: true }).then(response => {\r\n sessionStorage.removeItem('uniqueResponse' + recallID); sessionStorage.removeItem('questionResponses' + recallID);\r\n console.log(response.data.isInternal);\r\n history.push('/form/' + recallID + '/duc' + (response.data.isInternal ? '?ltc=' : ''));\r\n }).catch(error => {\r\n setShowError(true);\r\n setErrorMessage(\"Invalid Unique ID, please try again.\");\r\n });\r\n\r\n }\r\n }\r\n const onRecallIDChange = (value) => {\r\n setRecallID(value);\r\n }\r\n return ( \r\n
\r\n \r\n \r\n

Update an existing DUC

\r\n

To update a DUC that you have completed previously, enter your unique ID below and click Next to continue.

\r\n

The unique ID is the short numerical code displayed on the summary of your previously completed DUC.

\r\n {showError ? {errorMessage} : }\r\n \r\n
\r\n
Can't find your Unique ID? Start a new DUC.
\r\n \r\n\r\n
\r\n\r\n
\r\n
Back
\r\n
Next
\r\n
\r\n \r\n
\r\n )\r\n}\r\nexport default Update;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\n\r\nconst SummaryItem = (props) => {\r\n\r\n return (\r\n \r\n {props.question.questionText}\r\n \r\n {props.questionResponse.responseText}\r\n \r\n \r\n {props.questionResponse.commentText}\r\n \r\n \r\n )\r\n}\r\nexport default SummaryItem;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\n\r\nconst SummaryChangeItem = (props) => {\r\n\r\n return (\r\n \r\n {props.question.questionText}\r\n \r\n {props.prevQuestionResponse ? \r\n Rating: {props.prevQuestionResponse.responseText}\r\n
\r\n Comment: {props.prevQuestionResponse.commentText}\r\n
\r\n : }\r\n \r\n \r\n \r\n {props.questionResponse ? \r\n Rating: {props.questionResponse.responseText}\r\n
\r\n Comment: {props.questionResponse.commentText}\r\n
\r\n : }\r\n \r\n \r\n {props.prevQuestionResponse && props.questionResponse ? { props.questionResponse.responseText == props.prevQuestionResponse.responseText ? no change : change } : N/A}\r\n \r\n \r\n )\r\n}\r\nexport default SummaryChangeItem;","import React from 'react';\r\n\r\nimport { Page, Text, View, Document, StyleSheet, Image, Font, Link} from '@react-pdf/renderer';\r\nimport logo from '../logo-horizontal.png';\r\nimport font from \"../Montserrat-Regular.ttf\";\r\nimport fontBold from \"../Montserrat-Bold.ttf\";\r\nimport moment from 'moment'\r\n\r\nFont.register({ family: 'Montserrat', src: font, fontStyle: 'normal', fontWeight: 'normal' });\r\nFont.register({ family: 'Montserrat', src: fontBold, fontStyle: 'normal', fontWeight: 'bold' });\r\n//Font.registerHyphenationCallback(word => {\r\n// if (word.startsWith('http')) {\r\n// return [word];\r\n// } else {\r\n// this;\r\n// }\r\n//});\r\nconst dontBreak = (word) => {\r\n // Return word parts in an array\r\n return [word];\r\n}\r\nconst cleanUp = (dirty) => {\r\n\r\n var div = document.createElement('div');\r\n div.innerHTML = dirty;\r\n var links = div.getElementsByTagName(\"a\");\r\n for (var i = 0; i < links.length; i++) {\r\n links[i].innerHTML += ' [ ' + links[i].href + ' ] ';\r\n } \r\n return div.innerHTML.replace(/<[^>]*>?/gm, ''); \r\n}\r\n// Create Document Component\r\nconst SummaryDocument = (props) => {\r\n\r\n // Create styles\r\n const styles = StyleSheet.create({\r\n body: {\r\n paddingTop: 25,\r\n paddingBottom: 60,\r\n paddingHorizontal: 35,\r\n fontFamily: 'Montserrat'\r\n },\r\n title: {\r\n fontSize: 24,\r\n textAlign: 'left',\r\n fontFamily: 'Times-Roman',\r\n color: '#001641',\r\n paddingBottom: 12,\r\n paddingTop: 12\r\n },\r\n table: {\r\n display: \"table\",\r\n width: \"auto\",\r\n marginBottom: 5,\r\n borderStyle: \"solid\",\r\n borderWidth: 1,\r\n borderColor: \"#001641\",\r\n },\r\n tableRowStyle: {\r\n flexDirection: \"row\",\r\n },\r\n tableRowStyleShaded: {\r\n flexDirection: \"row\",\r\n backgroundColor: '#f2f2f2'\r\n },\r\n tableColStyle: {\r\n width: (!props.excludeComment ? \"30%\" : \"50%\"),\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0,\r\n borderTopWidth: 0\r\n },\r\n tableCellStyle: {\r\n textAlign: \"left\",\r\n margin: 0,\r\n padding: 5,\r\n fontSize: 10,\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n },\r\n\r\n firstTableColHeaderStyle: {\r\n width: (!props.excludeComment ? \"40%\" : \"50%\"),\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderBottomColor: \"#001641\",\r\n borderWidth: 1\r\n },\r\n tableColHeaderStyle: {\r\n width: (!props.excludeComment ? \"30%\" : \"50%\"),\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderBottomColor: \"#001641\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0\r\n },\r\n firstTableColStyle: {\r\n width: (!props.excludeComment ? \"40%\" : \"50%\"),\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderWidth: 1,\r\n borderTopWidth: 0\r\n },\r\n tableCellHeaderStyle: {\r\n textAlign: \"left\",\r\n margin: 4,\r\n fontSize: 12,\r\n fontWeight: 'bold',\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n },\r\n subtitle: {\r\n fontSize: 18,\r\n marginBottom: 5,\r\n marginTop: 5,\r\n color: '#001641',\r\n fontFamily: 'Times-Roman'\r\n },\r\n text: { \r\n fontSize: 10,\r\n textAlign: 'left',\r\n marginBottom: 5,\r\n marginTop: 5,\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n },\r\n textBold: {\r\n marginTop: 12,\r\n marginBottom: 12,\r\n fontSize: 10,\r\n color: '#001641',\r\n fontFamily: 'Montserrat',\r\n fontWeight: 'bold'\r\n },\r\n header: {\r\n fontSize: 12,\r\n marginBottom: 20,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n pageNumber: {\r\n position: 'absolute',\r\n fontSize: 10,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: 'center',\r\n color: 'grey',\r\n fontFamily: 'Montserrat',\r\n },\r\n image: {\r\n marginVertical: 0,\r\n marginHorizontal: 0,\r\n heigth: 50,\r\n width: 155\r\n },\r\n important: {\r\n padding: 10,\r\n backgroundColor: '#ffcccc',\r\n fontSize: 10,\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n }\r\n });\r\n const filterQuestions = (q, cid, questionResponses, i) => {\r\n \r\n if (parseInt(q.categoryID) == parseInt(cid)) {\r\n var returnjsx = [];\r\n questionResponses.forEach((qr) => {\r\n if (parseInt(qr.questionID) == parseInt(q.questionID)) {\r\n returnjsx.push( \r\n \r\n {q.questionText}\r\n {qr.responseText}\r\n {!props.excludeComment ? {qr.commentText} : }\r\n \r\n );\r\n }\r\n });\r\n return returnjsx; \r\n\r\n }\r\n }\r\nreturn (\r\n \r\n \r\n \r\n Digital Uplift Check (DUC) Self-Assessment Tool \r\n {props.subjectCode != '' ? Subject Code: {props.subjectCode} \r\n : }\r\n {props.facultyText && props.facultyText.length > 0 ?\r\n \r\n Faculty: {props.facultyText}\r\n School: {props.schoolText}\r\n \r\n : Unit: {props.schoolText}, {props.entity}\r\n }\r\n Unique ID: {props.uniqueID} \r\n Important: Please keep a record of this so you can return to the DUC Tool online and update or complete your DUC.\r\n \r\n \r\n {props.categories.length > 0 ? props.categories.map((c, i) =>\r\n {c.categoryText}\r\n\r\n \r\n \r\n Checkpoint\r\n Rating\r\n {!props.excludeComment ? Comment : }\r\n \r\n {props.questionResponses.length > 0 ?\r\n props.questions.map((q,i) => filterQuestions(q, c.categoryID, props.questionResponses, i)\r\n ): }\r\n \r\n {c.showSupport ? \r\n Support resources\r\n {cleanUp(c.categoryResources)}\r\n : }\r\n \r\n ) : }\r\n \r\n\r\n (\r\n `${pageNumber} / ${totalPages}`\r\n )} fixed />\r\n \r\n \r\n);\r\n}\r\nconst SummaryChangeDocument = (props) => {\r\n\r\n // Create styles\r\n const styles = StyleSheet.create({\r\n body: {\r\n paddingTop: 25,\r\n paddingBottom: 60,\r\n paddingHorizontal: 35,\r\n fontFamily: 'Montserrat'\r\n },\r\n title: {\r\n fontSize: 24,\r\n textAlign: 'left',\r\n fontFamily: 'Times-Roman',\r\n color: '#001641',\r\n paddingBottom: 12,\r\n paddingTop: 12\r\n },\r\n table: {\r\n display: \"table\",\r\n width: \"auto\",\r\n marginBottom: 5,\r\n borderStyle: \"solid\",\r\n borderWidth: 1,\r\n borderColor: \"#001641\",\r\n },\r\n tableRowStyle: {\r\n flexDirection: \"row\",\r\n },\r\n tableRowStyleShaded: {\r\n flexDirection: \"row\",\r\n backgroundColor: '#f2f2f2'\r\n },\r\n tableColStyle: {\r\n width: \"25%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0,\r\n borderTopWidth: 0\r\n },\r\n lastTableColStyle: {\r\n width: \"15%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0,\r\n borderTopWidth: 0\r\n },\r\n tableCellStyle: {\r\n textAlign: \"left\",\r\n margin: 0,\r\n padding: 5,\r\n fontSize: 10,\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n\r\n },\r\n\r\n firstTableColHeaderStyle: {\r\n width: \"35%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderBottomColor: \"#001641\",\r\n borderWidth: 1\r\n },\r\n tableColHeaderStyle: {\r\n width: \"25%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderBottomColor: \"#001641\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0\r\n },\r\n lastTableColHeaderStyle: {\r\n width: \"15%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderBottomColor: \"#001641\",\r\n borderWidth: 1,\r\n borderLeftWidth: 0\r\n },\r\n firstTableColStyle: {\r\n width: \"35%\",\r\n borderStyle: \"solid\",\r\n borderColor: \"#bbb\",\r\n borderWidth: 1,\r\n borderTopWidth: 0\r\n },\r\n \r\n tableCellHeaderStyle: {\r\n textAlign: \"left\",\r\n margin: 4,\r\n fontSize: 12,\r\n fontWeight: 'bold',\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n },\r\n subtitle: {\r\n fontSize: 18,\r\n marginBottom: 5,\r\n marginTop: 5,\r\n color: '#001641',\r\n fontFamily: 'Times-Roman'\r\n },\r\n text: {\r\n marginTop: 8,\r\n marginBottom: 8,\r\n fontSize: 10,\r\n textAlign: 'justify',\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n },\r\n textBold: {\r\n marginTop: 12,\r\n marginBottom: 12,\r\n fontSize: 10,\r\n textAlign: 'justify',\r\n color: '#001641',\r\n fontFamily: 'Montserrat',\r\n fontWeight: 'bold'\r\n },\r\n header: {\r\n fontSize: 12,\r\n marginBottom: 20,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n pageNumber: {\r\n position: 'absolute',\r\n fontSize: 10,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: 'center',\r\n color: 'grey',\r\n fontFamily: 'Montserrat',\r\n },\r\n image: {\r\n marginVertical: 0,\r\n marginHorizontal: 0,\r\n heigth: 50,\r\n width: 155\r\n },\r\n important: {\r\n padding: 10,\r\n backgroundColor: '#ffcccc',\r\n fontSize: 10,\r\n textAlign: 'justify',\r\n color: '#001641',\r\n fontFamily: 'Montserrat'\r\n }\r\n });\r\n\r\n const filterQuestions = (q, cid, i) => {\r\n var qr = props.questionResponses.find(qr => qr.questionID == q.questionID);\r\n if (parseInt(q.categoryID) == parseInt(cid)) {\r\n var prevqr = props.prevQuestionResponses.find(qr => qr.questionID == q.questionID);\r\n\r\n return \r\n {q.questionText}\r\n \r\n {prevqr ? \r\n \r\n Rating: {prevqr.responseText}\r\n {!props.excludeComment ? Comment: {prevqr.commentText} : }\r\n \r\n : }\r\n \r\n \r\n \r\n {qr ? \r\n \r\n Rating: {qr.responseText}\r\n {!props.excludeComment ? Comment: {qr.commentText} : }\r\n \r\n : }\r\n \r\n\r\n \r\n \r\n {prevqr && qr ? {qr.responseText == prevqr.responseText ? no change : change} : N/A}\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n }\r\n return (\r\n \r\n \r\n \r\n Digital Uplift Check (DUC) Tool\r\n {props.subjectCode != '' ? Subject Code: {props.subjectCode}\r\n : }\r\n {props.responseMeta.faculty && props.responseMeta.faculty.length > 0 ?\r\n \r\n Faculty: {props.responseMeta.faculty}\r\n School: {props.responseMeta.unit}\r\n \r\n : Unit: {props.responseMeta.unit}, {props.responseMeta.entity}\r\n }\r\n Unique ID: {props.uniqueID}\r\n Important: Please keep a record of this so you can return to the DUC Tool online and update or complete your DUC. \r\n\r\n \r\n\r\n {props.categories.length > 0 ? props.categories.map((c, i) =>\r\n {c.categoryText}\r\n \r\n \r\n Checkpoint\r\n DUC completed on {moment(props.prevResponseMeta.createdDate).format(\"DD MMM YYYY\")}\r\n DUC completed on {moment(props.responseMeta.createdDate).format(\"DD MMM YYYY\")}\r\n Rating change\r\n \r\n {props.questionResponses.length > 0 ?\r\n props.questions.map((q, i) => filterQuestions(q, c.categoryID, i)\r\n ) : }\r\n \r\n \r\n ) : }\r\n\r\n (\r\n `${pageNumber} / ${totalPages}`\r\n )} fixed />\r\n \r\n \r\n );\r\n}\r\nexport default SummaryDocument;\r\nexport { SummaryDocument, SummaryChangeDocument };","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\n\r\nconst FeedbackForm = (props) => {\r\n const [saved, setSaved] = useState();\r\n const [satisfaction, setSatisfaction] = useState();\r\n const [feedbackText, setFeedbackText] = useState();\r\n\r\n const changeSatisfaction = (value) => {\r\n setSatisfaction(value);\r\n }\r\n const changeFeedback = (value) => {\r\n setFeedbackText(value);\r\n }\r\n const saveFeedback = (e) => {\r\n e.preventDefault();\r\n setSaved(false);\r\n axios.post('api/feedback/' , {\r\n \"satisfaction\": satisfaction,\r\n \"feedbackText\": feedbackText,\r\n \"uniqueToken\": props.uniqueID\r\n }, { withCredentials: true }).then(response => {\r\n setSaved(true);\r\n })\r\n }\r\n return (\r\n
\r\n

How satisfied are you with the DUC Tool?

\r\n
\r\n
\r\n changeSatisfaction(e.target.value)} />\r\n \r\n
\r\n
\r\n changeSatisfaction(e.target.value)}/>\r\n \r\n
\r\n
\r\n changeSatisfaction(e.target.value)}/>\r\n \r\n
\r\n
\r\n changeSatisfaction(e.target.value)}/>\r\n \r\n
\r\n
\r\n changeSatisfaction(e.target.value)}/>\r\n \r\n
\r\n
\r\n
\r\n

How can the DUC Tool be improved?

\r\n \r\n Send feedback\r\n {saved ?

Thank you for your time and feedback.

:
}\r\n\r\n
\r\n \r\n )\r\n}\r\nexport default FeedbackForm;","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n color: '#0033FF'\r\n },\r\n}));\r\n\r\nconst LoadingWheel = (props) => { \r\n const classes = useStyles(); \r\n return (\r\n

{props.message}
\r\n )\r\n}\r\nexport default LoadingWheel;\r\n\r\n","import React from 'react';\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\r\nimport { green } from '@material-ui/core/colors';\r\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n '& > svg': {\r\n margin: theme.spacing(2),\r\n },\r\n },\r\n }),\r\n);\r\nfunction DownloadIcon(props: SvgIconProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nfunction MailIcon(props: SvgIconProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nfunction FeedbackIcon(props: SvgIconProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nexport { DownloadIcon, MailIcon, FeedbackIcon } ;\r\n\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Container } from 'reactstrap';\r\nimport axios from 'axios';\r\nimport { useParams } from 'react-router-dom';\r\nimport SummaryItem from './SummaryItem';\r\nimport SummaryChangeItem from './SummaryChangeItem';\r\nimport PDFSummary from './PDFSummary';\r\nimport { SummaryDocument,SummaryChangeDocument } from './PDFSummary';\r\nimport IDInput from './IDInput';\r\nimport { useHistory, Redirect } from \"react-router-dom\";\r\nimport FeedbackForm from './FeedbackForm'\r\nimport LoadingWheel from './LoadingWheel';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport { MailIcon, FeedbackIcon } from './Icons';\r\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\r\nimport Moment from 'react-moment';\r\nimport { pdf } from '@react-pdf/renderer';\r\nimport { DownloadIcon } from './Icons';\r\nimport moment from 'moment';\r\nimport { SnackbarProvider, VariantType, useSnackbar } from 'notistack';\r\n\r\nconst Summary = (props) => {\r\n const [questionResponses, setQuestionResponses] = useState([]);\r\n const [prevQuestionResponses, setPrevQuestionResponses] = useState([]);\r\n const [categories, setCategories] = useState([]);\r\n const [questions, setQuestions] = useState([]);\r\n const [combinedQuestions, setCombinedQuestions] = useState([]);\r\n const [foundID, setFoundID] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [loadingMessage, setLoadingMessage] = useState(\"Loading, please wait...\");\r\n const [recallID, setRecallID] = useState('');\r\n const [showFeedbackForm, setShowFeedbackForm] = useState(false);\r\n const [emailing, setEmailing] = useState(false);\r\n const [emailAddress, setEmailAddress] = useState('');\r\n const [appurl, setAppurl] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [responseMeta, setResponseMeta] = useState();\r\n const [value, setValue] = React.useState(0);\r\n const [ducs, setDucs] = useState([]);\r\n const [excludeComment, setExcludeComment] = useState(false);\r\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\r\n const [noAddressAlert, setNoAddressAlert] = useState(); \r\n const [subjectCode, setSubjectCode] = useState('');\r\n let downloadLink = useRef();\r\n let { uniqueID } = useParams();\r\n let { realID } = useParams();\r\n let { type } = useParams();\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n if (type == \"update\") {\r\n // need to find previous DUC to compare\r\n axios.get('api/uniqueresponse/all/' + uniqueID, { withCredentials: true }).then(r => {\r\n setDucs(r.data);\r\n axios.get('api/summary/' + uniqueID + '/' + r.data[1].uniqueResponseID, { withCredentials: true }).then(response =>\r\n {\r\n setPrevQuestionResponses(response.data);\r\n \r\n });\r\n });\r\n }\r\n }, [type]);\r\n useEffect(() => { \r\n var allques = [];\r\n questionResponses.forEach((sum) => {\r\n var q = {\r\n \"questionID\": sum.questionID,\r\n \"questionText\": sum.questionText,\r\n \"categoryID\": sum.categoryID,\r\n \"questionDisplayOrder\": sum.questionDisplayOrder\r\n }\r\n var found = allques.some(q => q.questionID == sum.questionID);\r\n if (!found) { allques.push(q); }\r\n }); \r\n setQuestions(allques);\r\n }, [questionResponses]);\r\n useEffect(() => { \r\n var allques = [];\r\n questionResponses.forEach((sum) => {\r\n var q = {\r\n \"questionID\": sum.questionID,\r\n \"questionText\": sum.questionText,\r\n \"categoryID\": sum.categoryID,\r\n \"questionDisplayOrder\": sum.questionDisplayOrder\r\n }\r\n var found = allques.some(q => q.questionID == sum.questionID);\r\n if (!found) { allques.push(q); }\r\n }); \r\n prevQuestionResponses.forEach((sum) => {\r\n var q = {\r\n \"questionID\": sum.questionID,\r\n \"questionText\": sum.questionText,\r\n \"categoryID\": sum.categoryID,\r\n \"questionDisplayOrder\": sum.questionDisplayOrder\r\n }\r\n var found = allques.some(q => q.questionID == sum.questionID);\r\n if (!found) { allques.push(q); }\r\n });\r\n //setCombinedQuestions(allques.sort((n1, n2) => {\r\n // return n1.questionDisplayOrder - n2.questionDisplayOrder\r\n //}));\r\n setCombinedQuestions(allques);\r\n }, [prevQuestionResponses, questionResponses]);\r\n useEffect(() => {\r\n // if historical, pass realID\r\n axios.get('api/uniqueresponse/' + uniqueID + (realID ? '/' + realID : ''), { withCredentials: true }).then(r => {\r\n setResponseMeta(r.data);\r\n var idtouse;\r\n if (!realID) {\r\n // if not historical, use ID of the latest one\r\n idtouse = r.data.uniqueResponseID;\r\n }\r\n // else get ID of historical\r\n else { idtouse = realID }\r\n axios.get('api/summary/' + uniqueID + '/' + idtouse, { withCredentials: true }).then(response => {\r\n setResponseMeta(r.data);\r\n setQuestionResponses(response.data);\r\n var allcat = [];\r\n response.data.forEach((sum) => {\r\n var showSupport = false;\r\n if (sum.responseText == \"No evidence\" || sum.responseText == \"Some evidence\") {\r\n showSupport = true;\r\n }\r\n var cat = {\r\n \"categoryID\": sum.categoryID,\r\n \"categoryText\": sum.categoryText,\r\n \"showSupport\": showSupport,\r\n \"categoryResources\": sum.categoryResources\r\n }\r\n var found = allcat.some(c => c.categoryID == sum.categoryID);\r\n if (!found) {\r\n allcat.push(cat);\r\n }\r\n else {\r\n // if a category already added, in case condition met, make sure showSupport is set to true\r\n if (showSupport == true) {\r\n var thiscat = allcat.find(function (item, i) {\r\n if (item.categoryID === sum.categoryID) {\r\n item.showSupport = true;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n setCategories(allcat);\r\n\r\n \r\n setLoading(false);\r\n setFoundID(true);\r\n }).catch(error => {\r\n setLoading(false);\r\n setFoundID(false);\r\n });\r\n\r\n\r\n\r\n\r\n }).catch(error => {\r\n setLoading(false);\r\n setFoundID(false);\r\n\r\n });\r\n\r\n axios.get('api/util/url').then(response => {\r\n setAppurl(response.data);\r\n console.log(response.data);\r\n });\r\n }, [uniqueID, realID]);\r\n const filterQuestions = (q, cid) => {\r\n var qr = questionResponses.find(qr => qr.questionID == q.questionID);\r\n if (q.categoryID == cid) {\r\n if (value == 1) { \r\n var prevqr = prevQuestionResponses.find(qr => qr.questionID == q.questionID);\r\n return ;\r\n \r\n } else {\r\n // summary tab \r\n return ;\r\n }\r\n\r\n }\r\n }\r\n \r\n\r\n const handleShowFeedback = (e) => {\r\n e.preventDefault();\r\n setShowFeedbackForm(!showFeedbackForm);\r\n\r\n }\r\n const onRecallIDChange = (value) => {\r\n setRecallID(value);\r\n }\r\n const getSummaryBlob = () => { \r\n if (value == 1) {\r\n return pdf().toBlob();\r\n\r\n } else {\r\n return pdf().toBlob();\r\n }\r\n }\r\n const action = key => (\r\n \r\n \r\n \r\n );\r\n const handleSend = (e) => {\r\n e.preventDefault();\r\n // setLoadingMessage(\"Sending email, please wait...\");\r\n //setLoading(true);\r\n if (emailAddress == \"\") {\r\n setNoAddressAlert(enqueueSnackbar(\"Please enter the email address you wish to send this summary to.\",\r\n {\r\n variant: 'error',\r\n persist: true, \r\n action\r\n }\r\n ));\r\n } else {\r\n const emailalert = enqueueSnackbar(\"Sending email, please wait...\", { variant: 'info', persist: true });\r\n getSummaryBlob().then(blob => {\r\n var reader = new FileReader();\r\n reader.onloadend = function (e2) {\r\n // console.log(\"calling onload\");\r\n var rawLog = reader.result;\r\n // console.log(rawLog);\r\n axios.post('api/mailer', {\r\n \"toAddress\": emailAddress,\r\n \"uniqueID\": uniqueID,\r\n \"pdfData\": rawLog,\r\n \"fileName\": \"Digital_Uplift_Check_\" + moment().format('YYYYMMDD') + \".pdf\"\r\n }).then(r2 => {\r\n closeSnackbar(emailalert);\r\n enqueueSnackbar(\"Email sent! Please allow 30 minutes for your summary to arrive.\",\r\n {\r\n variant: 'success',\r\n persist: true,\r\n action\r\n }\r\n )\r\n }).catch(error => {\r\n closeSnackbar(emailalert);\r\n enqueueSnackbar(\"Something went wrong, can't send email.\",\r\n {\r\n variant: 'error',\r\n persist: true,\r\n action\r\n }\r\n )\r\n });\r\n }\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n }\r\n const handleDownload = (e) => {\r\n e.preventDefault(); \r\n \r\n const pdfalert = enqueueSnackbar(\"Generating PDF, please wait...\", { variant: 'info', persist: true});\r\n\r\n getSummaryBlob().then(blob => {\r\n\r\n var reader = new FileReader();\r\n reader.onloadend = function (e2) {\r\n var rawLog = reader.result;\r\n // console.log(downloadLink.current);\r\n downloadLink.current.href = rawLog;\r\n downloadLink.current.download = \"Digital_Uplift_Check_\" + moment().format('YYYYMMDD') + \".pdf\";\r\n downloadLink.current.click();\r\n closeSnackbar(pdfalert);\r\n };\r\n reader.readAsDataURL(blob);\r\n }).catch(error => { console.log(error) });\r\n \r\n }\r\n const changeEmailAddress = (e) => {\r\n if (e.target.value != \"\") {\r\n closeSnackbar(noAddressAlert);\r\n }\r\n setEmailAddress(e.target.value);\r\n }\r\n const changeSubjectCode = (e) => {\r\n setSubjectCode(e.target.value);\r\n }\r\n const handleRecallNext = (e) => {\r\n e.preventDefault();\r\n if (recallID == '') {\r\n setShowError(true);\r\n } else {\r\n axios.get('api/uniqueresponse/' + recallID, { withCredentials: true }).then(response => {\r\n history.push('/summary/recall/' + recallID + '/' + response.data.uniqueResponseID);\r\n });\r\n }\r\n }\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n\r\n };\r\n return (\r\n
\r\n\r\n { foundID ?\r\n \r\n {loading ? :\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {type == \"update\" ? : []}\r\n \r\n \r\n
 
\r\n {value == 0 ?\r\n \r\n

This page provides a summary of your responses and links to support resources and services that can assist you further with the digital uplift of your subject site. A summary of the resources available on this page, grouped into the 4 categories in the DUC is available in the Learning & Teaching Hub.

\r\n {responseMeta.faculty && responseMeta.faculty.length > 0 ?\r\n

Faculty: {responseMeta.faculty}
\r\n School: {responseMeta.unit}

\r\n :\r\n

Unit: {responseMeta.unit}, {responseMeta.entity}

\r\n }\r\n
Unique ID: {uniqueID}
\r\n
Important: Make note of your unique ID (above) before you exit. This will ensure you can retrieve and/or update your DUC in the future.
\r\n

Update this DUC

\r\n {categories.length > 0 ? categories.map((c, i) =>\r\n

{c.categoryText}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {questionResponses.length > 0 ?\r\n questions.map((q) => filterQuestions(q, c.categoryID))\r\n : }\r\n \r\n
CheckpointRatingComments
\r\n {c.showSupport ?
\r\n

Support resources

\r\n
\r\n
\r\n
\r\n \r\n :
\r\n }\r\n
\r\n )\r\n\r\n :
}\r\n\r\n

Update this DUC

\r\n\r\n :\r\n \r\n

This section summarises the updates you have just made to your DUC. The tables below show your responses from the last DUC you completed, your updated DUC as of today, and an indication of which checkpoint ratings you have changed.

\r\n
Unique ID: {uniqueID}
\r\n
Important: Make note of your unique ID (above) before you exit. This will ensure you can retrieve and/or update your DUC in the future.
\r\n

Update this DUC

\r\n {categories.length > 0 ? categories.map((c, i) =>\r\n

{c.categoryText}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {questionResponses.length > 0 ?\r\n combinedQuestions.map((q) => filterQuestions(q, c.categoryID))\r\n : }\r\n \r\n
CheckpointDUC completed on {ducs[1].createdDate}DUC completed on {ducs[0].createdDate}Rating change
\r\n\r\n
\r\n )\r\n\r\n :
}\r\n

Update this DUC

\r\n \r\n\r\n\r\n }\r\n

Save your summary

\r\n
Unique ID: {uniqueID}
\r\n
Important: Make note of your unique ID (above) before you exit. This will ensure you can retrieve and/or update your DUC in the future.
\r\n
\r\n

Customise your summary

\r\n

\r\n\r\n setExcludeComment(!excludeComment)} >\r\n {excludeComment ? : } Exclude comments from saved copy\r\n

\r\n

\r\n Subject name/code:
\r\n To ensure anonymity, this will only appear on your saved copy and will not be stored by the tool.\r\n

\r\n
\r\n\r\n

Save as a PDF

\r\n\r\n

Send via email Send

\r\n

Note: The tool does not store your email address.

\r\n

Once you have saved or sent your DUC you can close this page or return to the DUC home page to start a new DUC or view other options.

\r\n

Feedback

\r\n Provide feedback on the DUC Self-Assesment Tool\r\n\r\n {showFeedbackForm ?\r\n
\r\n
\r\n :
}\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n }\r\n
\r\n :\r\n
\r\n {loading ? : \r\n \r\n
\r\n

ID not found. Please try again.

\r\n {showError ? The unique ID you entered is not valid. : }\r\n \r\n
\r\n

Still having trouble recalling an existing DUC?

\r\n Start a new DUC\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n\r\n }\r\n
\r\n\r\n )\r\n}\r\nexport default Summary;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\n\r\nconst ItemInput = (props) => {\r\n const [expand, setExpand] = useState(false);\r\n const [commentText, setCommentText] = useState(props.question.commentText);\r\n const [responseText, setResponseText] = useState(props.question.responseText);\r\n const readMore = (e) => {\r\n e.preventDefault();\r\n setExpand(!expand);\r\n }\r\n\r\n return (\r\n
\r\n
{props.question.questionText} \r\n
\r\n
\r\n \r\n
\r\n
\r\n {props.handleItemChange(props.question.questionID, \"commentText\", e.target.value); setCommentText(e.target.value);}} />\r\n
\r\n {props.question.questionInfo != \"\" ?\r\n
\r\n Read {expand ? \"less -\" : \"more +\"} \r\n {expand ?
:
}\r\n
\r\n : }\r\n \r\n
\r\n )\r\n}\r\nexport default ItemInput;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport ItemInput from './ItemInput';\r\n\r\n\r\nconst Category = (props) => {\r\n\r\n\r\n const filterQuestions = (cq, i) => {\r\n \r\n if (cq.categoryID == props.category.categoryID) {\r\n return \r\n }\r\n \r\n }\r\n\r\n return (\r\n
\r\n

props.handleHeadingClick(e, props.index)} key={props.category.categoryID}>\r\n  {props.category.categoryText}\r\n

\r\n
\r\n {props.category.categoryInfo != \"\" ?

{props.category.categoryInfo} {props.category.categoryInfo}

: }\r\n
\r\n {props.questions.map((cq, i) => filterQuestions(cq, i))}\r\n [^ back to top]\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default Category;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\n\r\nconst SchoolInput = (props) => {\r\n const [schools, setSchools] = useState([]);\r\n const [faculties, setFaculties] = useState([]);\r\n const [defaultFaculty, setDefaultFaculty] = useState(props.defaultFaculty);\r\n const [showSchool, setShowSchool] = useState(props.defaultFaculty == \"Other\" ? false : true);\r\n useEffect(() => { \r\n props.schools.forEach(r => {\r\n if (r.schoolText == props.defaultSchool) {\r\n setDefaultFaculty(r.facultyText) \r\n setSchools(props.schools.filter(item => item.facultyText == r.facultyText));\r\n }\r\n });\r\n var uniquefaculties = new Set(props.schools.map(item => item.facultyText));\r\n setFaculties([...uniquefaculties]); // convert Set to Array \r\n }, [props.defaultSchool]);\r\n const prepareFaculties = (f, i) => {\r\n return ;\r\n }\r\n \r\n const handleChange = (e) => {\r\n setDefaultFaculty(e.target.value);\r\n props.handleFacultyChange(e.target.value);\r\n setSchools(props.schools.filter(item => item.facultyText == e.target.value));\r\n //reset school\r\n props.handleSchoolChange(\"\");\r\n // console.log(responseData.filter(item => item.facultyText == e.target.value));\r\n if (e.target.value == \"Other\") {\r\n setShowSchool(false);\r\n } else {\r\n setShowSchool(true);\r\n }\r\n \r\n }\r\n const prepareSchools = (s, i) => {\r\n return