{"version":3,"sources":["SiteConfig.js","i18n.js","components/Helpers.js","components/HubSpotComponent.js","pages/Cookies.js","components/spinners/ButtonSpinner.js","components/spinners/LoadingSpinner.js","components/RecaptchaComponent.js","helpers/handleResponse.js","services/authenticationService.js","helpers/authHeader.js","services/apiService.js","components/forms/ContactForm.js","pages/Contact.js","pages/FAQS.js","assets/img/instructions_1.png","assets/img/instructions_2.png","assets/img/instructions_3.png","pages/Home.js","components/spinners/ModalSpinner.js","components/modals/ErrorModal.js","services/listsService.js","services/myListCounterService.js","components/forms/ListSaveToForm.js","components/modals/ListSaveToFormModal.js","components/forms/ListNewRenameForm.js","components/modals/ListFormModal.js","services/requirementsService.js","components/modals/RequirementDetailsModal.js","services/notificationService.js","components/grids/RequirementsLinksGrid.js","pages/Links.js","components/forms/ListDeleteForm.js","components/modals/ListDeleteModal.js","components/grids/ListsGrid.js","pages/Lists.js","services/notificationsPolling.js","components/forms/LoginForm.js","pages/Login.js","components/grids/RequirementsPagination.js","components/MyListCSVDownload.js","components/modals/RequirementDetailsCarousel.js","components/grids/SortableTableHeader.js","components/grids/RequirementsSelectedListGrid.js","pages/MyLists.js","components/grids/NotificationsGridSingle.js","components/grids/NotificationsGrids.js","pages/Notifications.js","components/modals/Terms.js","components/forms/RegisterForm.js","pages/Register.js","components/forms/ForgottenPasswordForm.js","pages/ForgottenPassword.js","components/forms/ResetPasswordForm.js","pages/ResetPassword.js","components/grids/RequirementsGrid.js","pages/Search.js","components/grids/RequirementsSharedGrid.js","pages/Shared.js","pages/Terms.js","components/Notifications.js","components/NavResize.js","components/NavBar.js","assets/img/mineaction-logo.png","assets/img/ammunitionmanagement-logo.png","assets/img/DMAC_LOGO_80x80.png","assets/img/bicc-logo-1.png","assets/img/LBNMAS-Website-Logo.png","components/Footer.js","components/ScrollHandler/index.js","hooks/PrivateRoute.jsx","App.js","reportWebVitals.js","index.js"],"names":["docType","siteTag","window","location","hostname","indexOf","SiteConfig","recapchaV3SiteKey","process","isProductionEnvironment","i18n","use","HttpApi","initReactI18next","init","lng","fallbackLng","keySeparator","interpolation","escapeValue","ns","defaultNS","backend","loadPath","allowMultiLoading","crossDomain","parse","data","JSON","err","t","console","error","Helpers","useTranslation","badgeVariant","type","variant","trim","arrayAsBadges","arr","map","item","Badge","createMarkup","str","__html","getWindowDimensions","width","innerWidth","height","innerHeight","setCookieEU","c_name","value","exdays","exdate","Date","setDate","getDate","c_value","escape","toUTCString","document","cookie","getCookieEU","i","x","y","ARRcookies","split","length","substr","replace","unescape","docTypeIdToDocType","doctypeId","retStr","HubSpotComponent","useEffect","script","createElement","src","id","body","appendChild","Cookies","Helmet","class","className","dangerouslySetInnerHTML","ButtonSpinner","LoadingSpinner","props","spinnerStyle","fixedHeight","String","heightOffset","style","RecaptchaComponent","action","sitekey","onToken","handleLoaded","useCallback","a","grecaptcha","ready","_","execute","then","token","addEventListener","data-sitekey","data-size","handleResponse","response","text","ok","status","authenticationService","logout","message","statusText","Promise","reject","currentUserSubject","BehaviorSubject","localStorage","getItem","login","email","password","FormData","append","fetch","method","user","setItem","stringify","next","register","name","reCaptchaToken","sign_up","site_tag","requestResetPassword","apiService","apiPostForm","resetPassword","confirm_password","removeItem","currentUser","asObservable","authHeader","currentUserValue","Authorization","url","formData","requestOptions","headers","res","Error","json","result","apiDelete","apiGet","ContactForm","useState","submitting","setSubmitting","submitted","setSubmitted","setReCaptchaToken","feedbackText","setFeedbackText","regenerateToken","setInterval","initialValues","phone","validationSchema","Yup","shape","required","onSubmit","fields","errors","touched","Alert","htmlFor","InputGroup","Prepend","Text","aria-hidden","disabled","placeholder","component","as","rows","target","rel","href","Contact","FAQS","Home","to","title","frameBorder","allow","allowFullScreen","instructions1","alt","instructions2","instructions3","ModalSpinner","ErrorModal","handleClose","onCloseErrorModal","Modal","animation","show","showerrormodal","onHide","backdrop","size","Header","closeButton","Title","Body","Footer","Button","onClick","listsService","getListById","getLists","doc_type","newList","list_name","renameList","list_id","deleteList","getListsForReqId","saveRequirementToLists","req_ids","list_ids","saveAllRequirementsToLists","getShareForReqId","getSharedForListId","currentMyListCountSubject","myListCounterService","getMyListCount","count","setMyListCount","currentMyListCount","ListSaveToForm","initiallyLoaded","setInitiallyLoaded","cmLists","setCmLists","selectedCmLists","setSelectedCmLists","setShow","canCreateLists","setCanCreateLists","formik","useFormik","enableReinitialize","values","element","onSuccessfulFormSubmit","retrieveData","resultsInLists","inlistids","filter","list","resultsCMLists","lists","inlist","handleSubmit","Dropdown","e","stopPropagation","Toggle","Menu","sort","b","Item","active","preventDefault","temp","foundIdx","key","index","push","splice","dropDownItemClick","ListFormModal","handleModalOpenClose","reloadData","showAddListModal","ListForm","listName","setListName","setFieldValue","cm_list","onChange","handleChange","onBlur","handleBlur","handleModalClose","ListNewRenameForm","requirementsService","getSearchFilters","sitetag","all","topics","stakeholders","rmes","qmps","standards","requirements","getRequirementById","getLinkedRequirementsById","getList","getListExport","postList","sortColumn","sortType","page","page_size","postSelectedList","postDetailedList","putToList","ids","deleteFromList","RequirementDetailsModal","fetchData","handleShow","req_id","setRequirement","requirement","setShowErrorModal","req_id_timestamp","showErrorModal","standard","number","edition","Amendment","section","markdown","options","tables","emoji","topic","importance","stakeholder","qmp","rme","currentNotificationsSubject","notifications","getNotifications","notificationService","items","setNotifications","markNotificationAsRead","notification_id","currentNotificationsData","read_at","notification","req","parseInt","markNotificationAsReadAPI","currentNotifications","RequirementLinksGrid","linkedRequirements","setLinkedRequirements","recordsTotal","setRecordsTotal","selectedReqId","setSelectedReqId","selectedReqIdTimestamp","setSelectedReqIdTimestamp","selectedListReqIds","setSelectedListReqIds","showListFormModal","setShowListFormModal","loadingData","setLoadingData","showListSaveToFormModal","setShowListSaveToFormModal","history","useHistory","showRequirementsModal","valueOf","showListSaveToForm","receiveRequirement","arrReqs","cm_req","ListSaveToFormModal","Table","striped","bordered","hover","Links","useParams","ListDeleteModal","ListDeleteForm","setLists","listRecordsTotal","setListRecordsTotal","selectedListId","setSelectedListId","loadingListData","setLoadingListData","showListDeleteFormModal","setShowListDeleteFormModal","listsInitiallyLoaded","setListsInitiallyLoaded","showListForm","retrieveListData","data-count","get_mylist_count","ButtonGroup","aria-label","OverlayTrigger","placement","rootClose","rootCloseEvent","trigger","overlay","Popover","Content","Form","Control","protocol","host","share_link","sharePath","navigator","clipboard","writeText","addToClipboard","showListDeleteForm","Lists","running","notificationsPolling","singletonHook","LoginForm","notificationsPollingMode","useLocation","min","from","state","pathname","Login","RequirementsPagination","setItems","startPage","endPage","pages_total","pages","Array","keys","forEach","Pagination","onItemClick","DropdownButton","onSelect","onPageSizeChange","eventKey","First","Prev","Ellipsis","Next","Last","MyListCSVDownload","setHeaders","setData","fetching","setFetching","csvInstance","useRef","current","link","setTimeout","click","Nav","Link","filename","ref","data-interception","RequirementDetailsCarousel","setIndex","setRequirements","pageSize","modifiedData","setModifiedData","Carousel","useModifiedData","sort_column","sort_type","activeIndex","selectedIndex","interval","SortableTableHeader","addClass","role","field","onHeaderClick","label","RequirementsSelectedListGrid","upperPaginationRef","setSortColumn","setSortType","setPage","setPageSize","pagesTotal","setPagesTotal","rowUpdating","setRowUpdating","remove_all_updating","setRemove_all_updating","canExportList","setCanExportList","canViewLinkedRequirements","setCanViewLinkedRequirements","selected_req_id","setSelected_req_id","selected_req_id_timestamp","setSelected_req_id_timestamp","handleSortColumn","pageSizeEventHandler","scrollToTop","paginationEventHandler","handleRemoveAllClick","row_updating","clnRequirements","requirementIds","receiveListInfo","last_page","total","canexportlist","isAmasAdmin","print","standard_number","newRowUpdating","updatedRequirements","handleRemoveClick","navigateToLinkPage","hasLink","scrollTo","top","getBoundingClientRect","bottom","behavior","MyLists","listCount","setListCount","NotificationsGridSingle","updated_at","doc_type_text","colSpan","NotificationsGrids","readNotifications","setReadNotifications","unreadNotifications","setUnreadNotifications","unReadNotifications","currentNotificationsValue","Notifications","Terms","RegisterForm","feedbackAreaRef","termsShow","setTermsShow","toggleTermsShow","accept_terms","oneOf","Register","ForgottenPasswordForm","successText","setSuccessText","ForgottenPassword","ResetPasswordForm","ResetPassword","RequirementsGrid","setState","onCloseShowListSaveToFormModalCallback","onCloseListFormModalCallback","noMorePsExt","converter","handleShare","window_location","toggleShowToast","show_toast","handleClearAll","getElementById","selected_topics","selected_stakeholders","selected_rmes","selected_qmps","text_search","selected_standards","selected_strengths","selected_page","requirements_only","cm_topics_select_values","cm_stakeholders_select_values","cm_rmes_select_values","cm_qmps_select_values","cm_standards_select_values","this","fetchRequirementsData","replaceQueryString","onTextSearchChange","event","persist","debouncedFn","debounce","searchString","determineDisabledOptions","returnTopics","cm_topics","allTopics","returnStakeholders","cm_stakeholders","allStakeholders","returnRmes","cm_rmes","allRMElements","returnQmps","cm_qmps","allQMPPrinciples","returnStandards","cm_standards","allStandards","lowerPaginationEventHandler","lowerPageSizeEventHandler","handleSaveAllClick","reqIds","saveHoverStatus","clone","save_row_hover","handleSaveClick","is_saved_to_list","updateRowStatus","foundIndex","findIndex","handleSelectChange","selectedOption","ev","stateItem","newIds","option","areFiltersLoaded","numResults","resultsPerPage","save_all_updating","cm_standards_input_value","cm_topics_input_value","cm_stakeholders_input_value","cm_qmps_input_value","cm_rmes_input_value","search","bind","fetchFilterData","handleDegreesOfCompliance","onInputChange","handleInputChanged","onCloseErrorModalCallback","popOverContainerRef","React","createRef","locationarea","opts","Requirements","input","reason","Number","query","queryString","qsState","strengths","stateString","join","substring","replaceState","strength","checked","currentlySelectedStrengths","standardFilterConfig","ignoreCase","ignoreAccents","matchFrom","renderStandardOption","Translation","Toast","onClose","readOnly","defaultValue","hideSelectedOptions","isMulti","closeMenuOnSelect","blurInputOnSelect","inputValue","getOptionLabel","getOptionValue","isOptionDisabled","filterOption","createFilter","onstyle","offstyle","onlabel","offlabel","extensions","Component","Search","RequirementsSharedGrid","listOwner","Shared","setListOwner","showNotifications","setShowNotifications","setGetNotifications","toggleShowNotifications","subscription","subscribe","unsubscribe","aria-live","aria-atomic","setNavExpanded","right","NavResize","resizeHeaderOnScroll","distanceY","pageYOffset","documentElement","scrollTop","headerEl","classList","add","remove","NavBar","setCurrentUser","myListCount","expanded","setExpanded","Navbar","expand","Brand","retUrl","logoUrl","aria-controls","Collapse","color","getFullYear","ScrollHandler","hash","offsetTop","propTypes","PropTypes","string","isRequired","withRouter","PrivateRoute","rest","roles","initialised","setInitialised","render","App","fallback","path","exact","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM"],"mappings":"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","file":"static/js/main.7c22f9da.chunk.js","sourcesContent":["\r\n\r\n\r\nlet docType = 1;\r\nlet siteTag = 'mineaction';\r\nlet recapchaV3SiteKey = process.env.REACT_APP_RECAPCHA_V3_SITE_KEY_MINEACTION;\r\nlet isProductionEnvironment = process.env.REACT_APP_ENVIRONMENT === 'production';\r\n\r\n/*\r\nlet docType = 3;\r\nlet siteTag = 'afghanistan';\r\n*/\r\n\r\nif (window.location.hostname.indexOf('localhost') !== -1) {\r\n docType = 1;\r\n siteTag = 'mineaction';\r\n}\r\n\r\nif (window.location.hostname.indexOf('ammunitionmanagement') !== -1\r\n || window.location.hostname.indexOf('d3gmkh7va5h02h') !== -1\r\n || window.location.hostname.indexOf('dgler3jhqz9w8') !== -1) {\r\n docType = 2;\r\n siteTag = 'ammunitionmanagement';\r\n}\r\n\r\nif (window.location.hostname.indexOf('afghanistan') !== -1\r\n || window.location.hostname.indexOf('d3h7hlb18x4nwa') !== -1\r\n || window.location.hostname.indexOf('amas') !== -1) {\r\n docType = 3;\r\n siteTag = 'afghanistan';\r\n}\r\n\r\nif (window.location.hostname.indexOf('iddrs') !== -1\r\n || window.location.hostname.indexOf('d8k28r13zsreh') !== -1\r\n || window.location.hostname.indexOf('iddrs') !== -1) {\r\n docType = 4;\r\n siteTag = 'iddrs';\r\n}\r\n\r\nif (window.location.hostname.indexOf('localhosts') !== -1\r\n || window.location.hostname.indexOf('d1xfspsy364uo2') !== -1 \r\n || window.location.hostname.indexOf('lebmac') !== -1) {\r\n docType = 5;\r\n siteTag = 'lbnmas';\r\n}\r\n\r\n\r\nexport const SiteConfig = { docType: docType, siteTag: siteTag, recapchaV3SiteKey: recapchaV3SiteKey, isProductionEnvironment: isProductionEnvironment};\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from 'react-i18next';\r\nimport HttpApi from 'i18next-http-backend';\r\n\r\nimport { SiteConfig } from './SiteConfig';\r\n\r\ni18n\r\n .use(HttpApi) // passes i18n down to react-i18next\r\n .use(initReactI18next)\r\n .init({\r\n lng: 'en',\r\n fallbackLng: 'en',\r\n keySeparator: false, // we do not use keys in form messages.welcome\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss\r\n },\r\n ns: [SiteConfig.siteTag],\r\n defaultNS: SiteConfig.siteTag,\r\n backend: {\r\n loadPath: (SiteConfig.siteTag === 'lbnmas') ? '/lbnmas.json' : process.env.REACT_APP_API_URL + '/locales/{{lng}}/{{ns}}.json' ,\r\n allowMultiLoading: false,\r\n crossDomain: true,\r\n parse: function(data) {\r\n return JSON.parse(JSON.parse(data));\r\n }\r\n }\r\n }, (err: Error, t: (...params: any[]) => string) => {\r\n if (err) return console.error(err)\r\n});\r\n\r\nexport default i18n;\r\n","\r\nimport Badge from 'react-bootstrap/Badge'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst Helpers = () => {\r\n\r\n const { t } = useTranslation();\r\n\r\n const docTypeIdToDocType = (doctypeId) => {\r\n\r\n var retStr = '';\r\n\r\n switch (doctypeId) {\r\n case 1:\r\n retStr = \"IMAS\"\r\n break;\r\n case 2:\r\n retStr = \"IATG\"\r\n break;\r\n case 3:\r\n retStr = \"AMAS\"\r\n break;\r\n default:\r\n retStr = '';\r\n }\r\n return retStr;\r\n\r\n }\r\n\r\n const badgeVariant = (type) => {\r\n\r\n var variant = '';\r\n\r\n switch (type.trim()) {\r\n case 'Shall':\r\n variant = 'danger';\r\n break;\r\n case 'Should':\r\n variant = 'success';\r\n break;\r\n case 'May':\r\n variant = 'info';\r\n break;\r\n case 'Informative':\r\n variant = 'informative';\r\n break;\r\n default:\r\n variant = 'info';\r\n }\r\n\r\n return variant;\r\n\r\n }\r\n const arrayAsBadges = (arr,type) => {\r\n return arr.map((item) => {t(item.trim())})\r\n }\r\n\r\n const createMarkup = (str) => {\r\n return {__html: str};\r\n }\r\n\r\n const getWindowDimensions = () => {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n\r\n const setCookieEU = (c_name,value,exdays) =>\r\n {\r\n var exdate = new Date();\r\n exdate.setDate(exdate.getDate() + exdays);\r\n var c_value = escape(value) + ((exdays==null) ? \"\" : \"; expires=\"+exdate.toUTCString());\r\n document.cookie = c_name + \"=\" + c_value+\"; path=/\";\r\n }\r\n\r\n const getCookieEU = (c_name) =>\r\n {\r\n var i,x,y,ARRcookies=document.cookie.split(\";\");\r\n for (i=0;i {\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (isProductionEnvironment) {\r\n const script = document.createElement(\"script\")\r\n script.src = \"//js-eu1.hs-scripts.com/25731783.js\";\r\n script.id = \"hs-script-loader\";\r\n\r\n document.body.appendChild(script);\r\n }\r\n },[isProductionEnvironment])\r\n\r\n return (\r\n <>\r\n\r\n \r\n )\r\n}\r\n\r\nexport default HubSpotComponent;\r\n","\r\nimport React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport Helpers from '../components/Helpers'\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction Cookies() {\r\n const { t } = useTranslation();\r\n\r\n const {createMarkup} = Helpers();\r\n\r\n return
\r\n \r\n {t('Cookie Policy')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Cookie Policy')}

\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 Cookies;\r\n","\r\nfunction ButtonSpinner() {\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nexport default ButtonSpinner;\r\n","\r\nfunction LoadingSpinner(props) {\r\n\r\n const spinnerStyle = {\r\n height: props.fixedHeight ? props.fixedHeight + 'px' : 'calc(100vh - ' + String(props.heightOffset ? props.heightOffset : 0) + 'px)'\r\n };\r\n\r\n return (\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 LoadingSpinner;\r\n","import React, { useEffect, useCallback } from 'react';\r\n\r\n\r\nconst RecaptchaComponent = ({ action, sitekey, onToken }) => {\r\n\r\n const handleLoaded = useCallback(async() => {\r\n window.grecaptcha.ready(_ => {\r\n window.grecaptcha\r\n .execute(sitekey, { action: action })\r\n .then(token => {\r\n\r\n onToken(token)\r\n })\r\n })\r\n },[action, sitekey,onToken])\r\n\r\n useEffect(() => {\r\n // Add reCaptcha\r\n const script = document.createElement(\"script\")\r\n script.src = \"https://www.google.com/recaptcha/api.js?render=\"+ sitekey\r\n script.addEventListener(\"load\", handleLoaded)\r\n document.body.appendChild(script)\r\n },[handleLoaded,sitekey])\r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\n\r\nexport default RecaptchaComponent;\r\n","import { authenticationService } from '../services/authenticationService';\r\n\r\nexport function handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if ([401, 403].indexOf(response.status) !== -1) {\r\n // auto logout if 401 Unauthorized or 403 Forbidden response returned from api\r\n authenticationService.logout();\r\n //window.location.reload(true);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { handleResponse } from '../helpers/handleResponse';\r\nimport { apiService } from './apiService';\r\nconst currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n\r\nexport const authenticationService = {\r\n login,\r\n register,\r\n requestResetPassword,\r\n resetPassword,\r\n logout,\r\n currentUser: currentUserSubject.asObservable(),\r\n get currentUserValue () { return currentUserSubject.value }\r\n};\r\n\r\nfunction login(email, password) {\r\n\r\n let data = new FormData();\r\n data.append('email',email);\r\n data.append('password',password);\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n //headers: { 'Content-Type': 'application/json' },\r\n body: data\r\n };\r\n\r\n return fetch(process.env.REACT_APP_API_URL + '/login', requestOptions)\r\n .then(handleResponse)\r\n .then(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n currentUserSubject.next(user);\r\n\r\n return user;\r\n });\r\n}\r\n\r\nfunction register(name, email, password, reCaptchaToken, sign_up, site_tag) {\r\n\r\n\r\n let data = new FormData();\r\n data.append('name',name);\r\n data.append('email',email);\r\n data.append('password',password);\r\n data.append('token',reCaptchaToken);\r\n data.append('opted_in', sign_up);\r\n data.append('referrer', site_tag);\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n //headers: { 'Content-Type': 'application/json' },\r\n body: data\r\n };\r\n\r\n return fetch(process.env.REACT_APP_API_URL + '/register', requestOptions)\r\n .then(handleResponse)\r\n .then(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n currentUserSubject.next(user);\r\n\r\n return user;\r\n });\r\n}\r\n\r\nfunction requestResetPassword(email) {\r\n\r\n let data = new FormData();\r\n data.append('email',email);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/reset-password', data);\r\n\r\n /*\r\n return fetch(process.env.REACT_APP_API_URL + '/reset-password', data)\r\n .then(handleResponse)\r\n .then(response => {\r\n return response;\r\n });\r\n */\r\n}\r\nfunction resetPassword(token,email,password,confirm_password) {\r\n\r\n let data = new FormData();\r\n data.append('token',token);\r\n data.append('email',email);\r\n data.append('password',password);\r\n data.append('password_confirmation',confirm_password);\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n body: data\r\n };\r\n\r\n return fetch(process.env.REACT_APP_API_URL + '/reset/password', requestOptions)\r\n .then(handleResponse)\r\n .then(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n currentUserSubject.next(user);\r\n\r\n return user;\r\n });\r\n\r\n //return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/reset/password', data);\r\n\r\n /*\r\n return fetch(process.env.REACT_APP_API_URL + '/reset-password', data)\r\n .then(handleResponse)\r\n .then(response => {\r\n return response;\r\n });\r\n */\r\n}\r\n\r\n\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n currentUserSubject.next(null);\r\n}\r\n","import { authenticationService } from '../services/authenticationService';\r\n\r\nexport function authHeader() {\r\n // return authorization header with jwt token\r\n const currentUser = authenticationService.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n return {\r\n \r\n Authorization: `Bearer ${currentUser.token}`,\r\n };\r\n } else {\r\n return {};\r\n }\r\n}\r\n","import { authHeader } from '../helpers/authHeader';\r\n\r\n\r\n\r\nexport const apiService = {\r\n apiPostForm ,\r\n apiDelete ,\r\n apiGet,\r\n};\r\n\r\n\r\nfunction apiPostForm(url,formData) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n body: formData\r\n };\r\n\r\n return fetch(url, requestOptions)\r\n .then(res =>\r\n {\r\n if(res.status!==200 && res.status!==201)\r\n {\r\n throw new Error(res.status)\r\n } else {\r\n return res.json()\r\n }\r\n }\r\n )\r\n .then(result => {\r\n return result;\r\n });\r\n}\r\n\r\nfunction apiDelete(url) {\r\n\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(url, requestOptions)\r\n .then(res =>\r\n {\r\n if(res.status!==200 && res.status!==201)\r\n {\r\n throw new Error(res.status)\r\n } else {\r\n return res.json()\r\n }\r\n }\r\n )\r\n .then(result => {\r\n return result;\r\n });\r\n}\r\n\r\nfunction apiGet(url) {\r\n\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(url, requestOptions)\r\n .then(res =>\r\n {\r\n if(res.status!==200 && res.status!==201)\r\n {\r\n throw new Error(res.status)\r\n } else {\r\n return res.json()\r\n }\r\n }\r\n )\r\n .then(result => {\r\n return result;\r\n });\r\n}\r\n","\r\nimport React, { useState, useCallback} from \"react\";\r\n\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport RecaptchaComponent from '../RecaptchaComponent';\r\n\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { Formik, Field, Form, ErrorMessage } from 'formik';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nimport * as Yup from \"yup\";\r\n\r\n\r\nimport { apiService } from '../../services/apiService';\r\n\r\nfunction ContactForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [submitted, setSubmitted] = useState(false);\r\n const [reCaptchaToken, setReCaptchaToken] = useState(null);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const initiallyLoaded = true;\r\n\r\n const onToken = useCallback(async(token) => {\r\n setReCaptchaToken(token);\r\n },[setReCaptchaToken]);\r\n\r\n const regenerateToken = () => {\r\n window.grecaptcha.ready(function() {\r\n window.grecaptcha\r\n .execute(SiteConfig.recapchaV3SiteKey, { action: \"contactform\" })\r\n .then(token => {\r\n onToken(token)\r\n });\r\n });\r\n };\r\n\r\n setInterval(function(){regenerateToken();}, 90*1000);\r\n\r\n return (\r\n {\r\n\r\n setFeedbackText('');\r\n\r\n setSubmitting(true);\r\n // Fetch the accessToken from the server\r\n let data = new FormData();\r\n data.append('name',fields.name);\r\n data.append('email',fields.email);\r\n data.append('phone',fields.phone);\r\n data.append('message',fields.message);\r\n data.append('token',reCaptchaToken);\r\n data.append('site_tag',SiteConfig.siteTag);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_contact',data)\r\n .then(\r\n response => {\r\n setSubmitted(true);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Contact form error'));\r\n regenerateToken();\r\n }\r\n );\r\n }}\r\n >\r\n {({ errors, status, touched }) => (\r\n\r\n <>\r\n { initiallyLoaded ?\r\n <>\r\n {feedbackText && \r\n {feedbackText}\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\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\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\n\r\n {submitted &&\r\n
\r\n
\r\n \r\n {t('Contact form success')}\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n This site is protected by reCAPTCHA and the Google \r\n Privacy Policy and \r\n Terms of Service apply.\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\n );\r\n};\r\n\r\nexport default ContactForm;\r\n","\r\nimport React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport ContactForm from '../components/forms/ContactForm';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction Contact() {\r\n const { t } = useTranslation();\r\n return
\r\n \r\n {t('Contact')}\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

{t('Contact')}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n}\r\n\r\nexport default Contact;\r\n","import React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction FAQS() {\r\n const { t } = useTranslation(); \r\n\r\n return
\r\n \r\n {t('FAQS')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Frequently Asked Questions')}

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

How do you decide what text to include in an entry?

\r\n

Each entry in the database should be a standalone statement that makes immediate and intuitive sense to the user. Where necessary adjacent sentences and bullet lists \r\n may be included for clarity. Text may be adjusted using [ ... ] brackets to show any deletions, additions or replacements included to maintain clarity, \r\n so long as any adjustments do not change the sense of the statement.

\r\n \r\n

Why can I see a 'shall' entry that doesn't seem to include the word 'shall'?

\r\n \r\n

Sometimes in the Lebanon NMAS a word such as 'must' or a phrase such as 'it is required that' is used which strongly implies a 'shall' intent. In those cases, the \r\n entry is marked as 'shall' even though that specific word is not used.

\r\n \r\n

Why do some 'may' entries seem to imply 'something that might happen' rather than 'something \r\n that you are allowed to do'?'

\r\n \r\n

'May' is sometimes used loosely in mine action standards, when 'might' or 'perhaps', could have been better choices. In general, sentences \r\n including the word 'may' are captured in the database if the meaning is clearly 'it is permitted to do something' or if the meaning is ambiguous. Instances when 'may' \r\n is used in Lebanon NMAS and it is clear that it means 'perhaps' are not tagged as may. If you think we've not got it right in any cases do get in touch.

\r\n\r\n

Why do some entries include combinations of shall, should and may?

\r\n \r\n

The basic policy is that each entry in the database should be a standalone statement that makes immediate and intuitive sense to the user. 'Shall' and 'should' statements \r\n should be entered separately unless doing so would compromise the requirement for 'standalone' clarity, or where both words are used in a single sentence. When you find an \r\n entry that combines shall, should or may, it usually means that we have assessed it as being clearer or more convenient to users to do it that way.

\r\n \r\n

What is the difference between entries marked with shall, should or may and those marked as informative?

\r\n \r\n

Whilst entries marked with shall, should or may indicate a degree of compliance, entries marked as informative do not. The informative tag allows us to capture the remaining \r\n text which provides the user with broader advice and information. How are stakeholder associations decided upon?

\r\n \r\n

How are stakeholder associations decided upon?

\r\n

Stakeholders are associated with an entry on the basis of:

\r\n
    \r\n
  • Reference to something that a stakeholder does;
  • \r\n
  • Reference to a decision that a stakeholder takes;
  • \r\n
  • An activity or decision that takes place on site (for the 'site' tag).
  • \r\n
\r\n\r\n

Associations are intended to be 'immediate', that is they relate to direct activity or responsibility links to stakeholders. Aspects that a stakeholder simply 'has an interest in', \r\nbut that they do not do or decide upon directly are not associated with that stakeholder.

\r\n

Tagging multiple stakeholders because they might perform some of the functions of other \r\nstakeholder groups from time to time is avoided. The policy for the database is that if a stakeholder at one level chooses to accept the roles and responsibilities of another \r\nstakeholder level then they should additionally select that other stakeholder tag and review the applicable results and recommendations.

\r\n\r\n

Why can't I print out lists from the main results page?

\r\n\r\n

We didn't include that option because our own view was that the print function would only be useful when developing shorter check lists that monitors might want to use during \r\ninspection visits. Printing off page after page of entries would be unwieldy and environmentally unattractive. You can print lists from your 'my list' page.

\r\n\r\n

Why can't I 'swipe through' individual entries from the main results page?

\r\n\r\n

Just because there are usually too many entries to make that an efficient way to access the information. \r\nIn testing we found that it was easier to scroll down the list on the main page, clicking on those that are of most relevance. Close that window when you're ready to move to \r\nanother one and then click on the next one you need to read in detail. You can swipe through individual entries in 'my list'. That's because we found that those shorter, \r\nmore focused lists are the ones that monitors are most likely to use when checking alignment at the practical level.

\r\n\r\n

Why is there a 'Topic' field as well as a 'Search' field?

\r\n\r\n

These two fields work together but in slightly different ways. The topic field allows you to query the entire normative text of Lebanon NMAS from a thematic perspective. 'Search' looks for any occurrence of the selected word or phrase \r\nwithin the requirement text held in the database. If you search for competence in 'search' you will get every occurrence of that word. If you select the 'competency' topic you \r\nwill get other results, where database analysts can see that the entry clearly relates to concepts of competence, even though the specific word doesn't appear in the text of \r\nthat entry.

\r\n\r\n

Who developed the Lebanon NMAS digital tool?

\r\n

The Lebanon NMAS digital tool was developed by a small team of mine action professionals and IM specialists from the LMAC and Fenix Insight ltd with the support of UNDP and the \r\nDutch government. Team members have extensive experience of work in mine action at a practical, project, and international institutional levels, including the drafting of a \r\nnumber of national mine action standards and the monitoring of their own and other organisations for alignment with NMAS (and other standards).

\r\n\r\n
\r\n
\r\n \r\n
\r\n}\r\n\r\nexport default FAQS;\r\n","export default __webpack_public_path__ + \"static/media/instructions_1.f0a8b5b0.png\";","export default __webpack_public_path__ + \"static/media/instructions_2.68470f3b.png\";","export default __webpack_public_path__ + \"static/media/instructions_3.a6f1cd27.png\";","\r\nimport React from \"react\";\r\nimport { Link } from 'react-router-dom';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport instructions1 from '../assets/img/instructions_1.png';\r\nimport instructions2 from '../assets/img/instructions_2.png';\r\nimport instructions3 from '../assets/img/instructions_3.png';\r\n\r\nimport ContactForm from '../components/forms/ContactForm';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction Home() {\r\n const { t } = useTranslation();\r\n //const [currentUser, setCurrentUser] = useState(null);\r\n\r\n /*\r\n useEffect(() => {\r\n redirect to home if already logged in\r\n setCurrentUser( authenticationService.currentUserValue);\r\n\r\n },[]);\r\n */\r\n\r\n return
\r\n \r\n {t('Home')}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
{t('DocType')} {t('compliance made simple')}
\r\n { SiteConfig.siteTag !== 'iddrs' &&\r\n

{t('by Fenix Insight')}.

\r\n }\r\n
\r\n {t('Search')} {t('DocType')}\r\n {t('My List')} \r\n
\r\n
\r\n
\r\n
\r\n { SiteConfig.siteTag !== 'iddrs' &&\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n

{t('About Us')}

\r\n

{t('About Us Subheading')}

\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

{t('Search')}

\r\n

{t('Bullet One')}

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

{t('Save')}

\r\n

{t('Bullet Two')}

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

{t('Check')}

\r\n

{t('Bullet Three')}

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

{t('Contact Us')}

\r\n

{t('Contact Us Subheading')}

\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

{t('How To Title')}

\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \"1\"\r\n
    \r\n
    \r\n
    \r\n

    {t('Step 1')}

    \r\n

    {t('Step One Subheading')}

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

    {t('Step One Text')}

    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \"2\"\r\n
    \r\n
    \r\n
    \r\n

    {t('Step 2')}

    \r\n

    {t('Step Two Subheading')}

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

    {t('Step Two Text')}

    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \"3\"\r\n
    \r\n
    \r\n
    \r\n

    {t('Step 3')}

    \r\n

    {t('Step Three Subheading')}

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

    {t('Step Three Text')}

    \r\n
    \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n

    {t('Step Bottom Title')}

    \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 Home;\r\n","\r\n\r\nfunction ModalSpinner(props) {\r\n return (\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 ModalSpinner;\r\n","import React from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nfunction ErrorModal(props) {\r\n\r\n\r\n const handleClose = () =>\r\n {\r\n props.onCloseErrorModal();\r\n }\r\n const { t } = useTranslation();\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n

{t('Something has gone wrong')}

\r\n
\r\n
\r\n \r\n {t('We are aware of the problem and are working to fix it. Please try again later')}.\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}\r\n\r\nexport default ErrorModal\r\n","import { apiService } from './apiService';\r\n\r\nexport const listsService = {\r\n\r\n getListById,\r\n getLists,\r\n newList,\r\n renameList,\r\n deleteList,\r\n getListsForReqId,\r\n saveRequirementToLists,\r\n saveAllRequirementsToLists,\r\n getShareForReqId,\r\n getSharedForListId\r\n};\r\n\r\nfunction getListById(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list/list/'+ id);\r\n}\r\n\r\nfunction getLists(doc_type) {\r\n\r\n let data = new FormData();\r\n data.append('doc_type',doc_type);\r\n\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list/all_lists',data);\r\n}\r\n\r\nfunction newList(list_name, doc_type) {\r\n\r\n let data = new FormData();\r\n data.append('list_name',list_name);\r\n data.append('doc_type',doc_type);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/new',data);\r\n}\r\n\r\nfunction renameList(list_id, list_name) {\r\n\r\n let data = new FormData();\r\n data.append('list_name',list_name);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/rename/' + list_id, data);\r\n}\r\n\r\nfunction deleteList(list_id, doc_type) {\r\n\r\n let data = new FormData();\r\n data.append('doc_type',doc_type);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/delete/' + list_id, data);\r\n}\r\n\r\nfunction getListsForReqId(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list/listsforrequirement/'+ id);\r\n}\r\n\r\nfunction saveRequirementToLists(req_ids, list_ids) {\r\n\r\n let data = new FormData();\r\n data.append('req_ids', req_ids);\r\n data.append('list_ids', list_ids);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/save_req', data);\r\n}\r\n\r\nfunction saveAllRequirementsToLists(req_ids, list_ids) {\r\n\r\n let data = new FormData();\r\n data.append('req_ids', req_ids);\r\n data.append('list_ids', list_ids);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/save_all', data);\r\n}\r\nfunction getShareForReqId(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list/share/'+ id);\r\n}\r\n\r\nfunction getSharedForListId(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list/shared/'+ id);\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { apiService } from './apiService';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\n\r\nconst currentMyListCountSubject = new BehaviorSubject(null);\r\n\r\nexport const myListCounterService = {\r\n getMyListCount,\r\n setMyListCount,\r\n currentMyListCount: currentMyListCountSubject.asObservable(),\r\n get currentMyListCountValue () { return currentMyListCountSubject.value }\r\n};\r\n\r\nfunction getMyListCount() {\r\n\r\n let data = new FormData();\r\n data.append('doc_type',SiteConfig.docType);\r\n\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/count',data )\r\n .then(\r\n (count) => {\r\n currentMyListCountSubject.next(count);\r\n },\r\n error => {\r\n if (error.message === '401'\r\n || error.message === '500') {\r\n currentMyListCountSubject.next(0);\r\n }\r\n }\r\n );\r\n\r\n}\r\n\r\nfunction setMyListCount(count) {\r\n currentMyListCountSubject.next(count);\r\n}\r\n","import React, { useEffect , useState, useCallback } from \"react\";\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport Button from 'react-bootstrap/Button';\r\nimport Dropdown from 'react-bootstrap/Dropdown';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport LoadingSpinner from '../spinners/LoadingSpinner';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Formik, Form, useFormik } from 'formik';\r\n\r\nimport * as Yup from \"yup\";\r\n\r\nimport { listsService } from '../../services/listsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\n\r\n\r\nfunction ListSaveToForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const [cmLists, setCmLists] = useState([]);\r\n const [selectedCmLists, setSelectedCmLists] = useState([]);\r\n const [ show, setShow ] = useState(false);\r\n const [canCreateLists, setCanCreateLists] = useState(false);\r\n\r\n const dropDownItemClick = (e,element) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const temp = [...selectedCmLists];\r\n\r\n var foundIdx = -1;\r\n\r\n temp.map((key,index) => {\r\n if (key.id === element.id)\r\n foundIdx = index;\r\n\r\n return 0;\r\n })\r\n\r\n if (-1 === foundIdx) {\r\n temp.push(element)\r\n } else {\r\n temp.splice(foundIdx,1)\r\n }\r\n\r\n setSelectedCmLists(temp);\r\n }\r\n\r\n\r\n const validationSchema=Yup.object().shape({\r\n\r\n })\r\n\r\n const formik = useFormik({\r\n enableReinitialize: true,\r\n initialValues: {\r\n list_name: '',\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: async (values) => {\r\n\r\n setFeedbackText('');\r\n setSubmitting(true);\r\n\r\n if (1 element.id))\r\n .then(\r\n user => {\r\n setSubmitting(false);\r\n myListCounterService.getMyListCount();\r\n props.onSuccessfulFormSubmit(true);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Save to list error'));\r\n }\r\n );\r\n\r\n } else {\r\n listsService.saveRequirementToLists(props.req_ids, selectedCmLists.map(element => element.id))\r\n .then(\r\n user => {\r\n setSubmitting(false);\r\n myListCounterService.getMyListCount();\r\n props.onSuccessfulFormSubmit(true);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Save to list error'));\r\n }\r\n );\r\n }\r\n }\r\n\r\n });\r\n\r\n const addNewList = () => {\r\n props.onSuccessfulFormSubmit(false,true);\r\n }\r\n\r\n const retrieveData = useCallback(async () => {\r\n\r\n listsService.getListsForReqId(1 === props.req_ids.length ? props.req_ids[0] : -1 )\r\n .then(\r\n (result) => {\r\n setInitiallyLoaded(true);\r\n //we are filtering returning data for the move facillity\r\n //as we dont want to display the current list or any lists that the requirement\r\n //already belongs to .\r\n let resultsInLists = result.inlistids.filter(list => list.id !== props.list_id);\r\n let resultsCMLists = (!props.list_id) ? result.lists : result.lists.filter(function(list) {\r\n return list.id !== props.list_id && 0 === resultsInLists.filter(function(inlist) {\r\n return inlist.id === list.id\r\n }).length;\r\n });\r\n\r\n setCmLists(resultsCMLists);\r\n setSelectedCmLists(resultsInLists);\r\n setCanCreateLists(result.canCreateLists);\r\n },\r\n error => {\r\n\r\n if (error.message === '401' ) {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n //setShowErrorModal(true);\r\n } else if (error.message === '403') {\r\n // history.push('/');\r\n }\r\n\r\n }\r\n );\r\n },[props.req_ids,props.list_id]);\r\n\r\n useEffect(() => {\r\n retrieveData();\r\n },[props.req_ids, retrieveData]);\r\n\r\n return (\r\n <>\r\n { initiallyLoaded ?\r\n <>\r\n {feedbackText && \r\n {feedbackText}\r\n }\r\n \r\n <>\r\n
\r\n
\r\n
\r\n
\r\n\r\n e.stopPropagation()}\r\n show = {show}\r\n >\r\n setShow(!show)}\r\n >\r\n
{t('Select one or more lists')} ...
\r\n \r\n \r\n {cmLists.sort((a, b) => a.list_name - b.list_name).map(element =>\r\n item.id).indexOf(element.id) >= 0}\r\n key={element.id}\r\n onClick={(e) => dropDownItemClick(e,element)}\r\n >\r\n {element.list_name}\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n {t('Save')} {submitting && }\r\n \r\n
\r\n
\r\n
\r\n { canCreateLists &&\r\n
\r\n \r\n {t('Add new list')}\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 ListSaveToForm;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { useTranslation } from 'react-i18next';\r\nimport ListSaveToForm from '../forms/ListSaveToForm'\r\n\r\nfunction ListFormModal(props) {\r\n\r\n useEffect(() => {\r\n setShow(props.show);\r\n }, [props.show]);\r\n\r\n const [show, setShow] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const handleFormSubmit = (reloadData,showAddListModal) => {\r\n props.handleModalOpenClose(reloadData,showAddListModal)\r\n }\r\n\r\n return (\r\n\r\n props.handleModalOpenClose(false) }\r\n backdrop=\"static\"\r\n size=\"md\"\r\n >\r\n \r\n \r\n

{props.list_id ? t('Move requirement to list') : 1 === props.req_ids.length ? t('Save requirement to list') : t('Save requirements to list') }

\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 ListFormModal\r\n","\r\nimport React, { useEffect , useState } from \"react\";\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\n\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { Formik, Field, Form, useFormik } from 'formik';\r\n\r\nimport * as Yup from \"yup\";\r\n\r\nimport { listsService } from '../../services/listsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nfunction ListForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const [listName, setListName] = useState(\"\");\r\n\r\n const validationSchema=Yup.object().shape({\r\n list_name: Yup.string()\r\n .required(t('List name is required'))\r\n })\r\n\r\n const formik = useFormik({\r\n enableReinitialize: true,\r\n initialValues: {\r\n list_name: '',\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: async (values) => {\r\n setFeedbackText('');\r\n setSubmitting(true);\r\n\r\n if (!props.list_id) {\r\n\r\n listsService.newList(values.list_name, SiteConfig.docType)\r\n .then(\r\n data => {\r\n setSubmitting(false);\r\n props.onSuccessfulFormSubmit(true);\r\n myListCounterService.setMyListCount(data.count);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Add list error'));\r\n }\r\n );\r\n } else {\r\n listsService.renameList(props.list_id,values.list_name)\r\n .then(\r\n user => {\r\n setSubmitting(false);\r\n props.onSuccessfulFormSubmit(true);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Rename list error'));\r\n //setValidated(false);\r\n }\r\n );\r\n }\r\n }\r\n });\r\n\r\n const setFieldValue = formik.setFieldValue;\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (!props.list_id) {\r\n //setList(null);\r\n setInitiallyLoaded(true);\r\n } else {\r\n\r\n listsService.getListById(props.list_id)\r\n .then(\r\n (result) => {\r\n setInitiallyLoaded(true);\r\n setFieldValue('list_name', result.cm_list.list_name);\r\n setListName(result.cm_list.list_name)\r\n },\r\n error => {\r\n\r\n if (error.message === '401' ) {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n //setShowErrorModal(true);\r\n } else if (error.message === '403') {\r\n // history.push('/');\r\n }\r\n\r\n }\r\n );\r\n }\r\n },[props.list_id, setFieldValue]);\r\n\r\n return (\r\n <>\r\n\r\n { initiallyLoaded ?\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {formik.errors.list_name && formik.touched.list_name &&
{formik.errors.list_name}
}\r\n
\r\n
\r\n
\r\n {t('Your list name will be visible when you share with others.')}\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 ListForm;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { useTranslation } from 'react-i18next';\r\nimport ListNewRenameForm from '../forms/ListNewRenameForm'\r\n\r\nfunction ListFormModal(props) {\r\n\r\n useEffect(() => {\r\n setShow(props.show);\r\n }, [props.show]);\r\n\r\n const [show, setShow] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const handleFormSubmit = (reloadData) => {\r\n props.handleModalClose(reloadData)\r\n }\r\n\r\n return (\r\n\r\n props.handleModalClose(false) }\r\n backdrop=\"static\"\r\n size=\"md\"\r\n >\r\n \r\n \r\n

{props.list_id ? t('Rename List') : t('Create New List') }

\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 ListFormModal\r\n","import { apiService } from './apiService';\r\n\r\nexport const requirementsService = {\r\n getSearchFilters,\r\n requirements,\r\n getRequirementById,\r\n getLinkedRequirementsById,\r\n getList,\r\n getListExport,\r\n postList,\r\n postSelectedList,\r\n postDetailedList,\r\n putToList,\r\n deleteFromList,\r\n};\r\n\r\nfunction getSearchFilters(doc_type, sitetag) {\r\n\r\n let data = new FormData();\r\n data.append('site_tag',sitetag);\r\n data.append('doc_type',doc_type);\r\n\r\n return Promise.all([\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_dropdown_topics',data),\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_dropdown_stakeholders',data),\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_dropdown_rmes',data),\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_dropdown_qmps',data),\r\n apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_dropdown_standards' ,data)\r\n ])\r\n .then(([topics, stakeholders, rmes, qmps, standards]) => {\r\n return {\r\n topics,\r\n stakeholders,\r\n rmes,\r\n qmps,\r\n standards\r\n };\r\n })\r\n}\r\n\r\nfunction requirements(data) {\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/reqs',data);\r\n}\r\n\r\nfunction getRequirementById(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/req/'+ id);\r\n}\r\n\r\nfunction getLinkedRequirementsById(id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/links/'+ id);\r\n}\r\n\r\nfunction getList() {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/cm_list');\r\n}\r\n\r\nfunction getListExport(list_id,doc_type, site_tag) {\r\n\r\n let data = new FormData();\r\n data.append('list_id',list_id);\r\n data.append('doc_type',doc_type);\r\n data.append('site_tag',site_tag);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/export',data);\r\n}\r\n\r\nfunction postList(sortColumn,sortType,page,doc_type,page_size) {\r\n\r\n let data = new FormData();\r\n data.append('sort_column',sortColumn);\r\n data.append('sort_type',sortType);\r\n data.append('selected_page',page);\r\n data.append('doc_type',doc_type);\r\n data.append('page_size',page_size);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list',data);\r\n}\r\n\r\nfunction postSelectedList(list_id, sortColumn,sortType,page,doc_type,page_size) {\r\n\r\n let data = new FormData();\r\n data.append('sort_column',sortColumn);\r\n data.append('sort_type',sortType);\r\n data.append('selected_page',page);\r\n data.append('doc_type',doc_type);\r\n data.append('page_size',page_size);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/view/' + list_id,data);\r\n}\r\n\r\nfunction postDetailedList(list_id, sortColumn,sortType,page,doc_type,page_size) {\r\n\r\n let data = new FormData();\r\n data.append('list_id',list_id);\r\n data.append('sort_column',sortColumn);\r\n data.append('sort_type',sortType);\r\n data.append('selected_page',page);\r\n data.append('doc_type',doc_type);\r\n data.append('page_size',page_size);\r\n\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/detailed',data);\r\n}\r\n\r\nfunction putToList(ids,doc_type) {\r\n let data = new FormData();\r\n data.append('req_ids',ids);\r\n data.append('doc_type',doc_type);\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/items/attach', data);\r\n}\r\n\r\nfunction deleteFromList(list_id, ids,doc_type) {\r\n let data = new FormData();\r\n data.append('list_id',list_id);\r\n data.append('req_ids',ids);\r\n data.append('doc_type',doc_type);\r\n return apiService.apiPostForm(process.env.REACT_APP_API_URL + '/cm_list/items/detach', data);\r\n}\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport Helpers from '../Helpers'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { requirementsService } from '../../services/requirementsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport MarkdownView from 'react-showdown';\r\n\r\nfunction RequirementDetailsModal(props) {\r\n\r\n\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n handleShow();\r\n requirementsService.getRequirementById(props.req_id)\r\n .then(\r\n (data) => {\r\n setRequirement(data.requirement);\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setShow(false);\r\n setShowErrorModal(true);\r\n }\r\n }\r\n );\r\n\r\n };\r\n if (props.req_id)\r\n fetchData();\r\n }, [props.req_id,props.req_id_timestamp]);\r\n\r\n const [requirement, setRequirement] = useState(null);\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n const handleClose = () =>\r\n {\r\n setShow(false);\r\n setRequirement(null);\r\n }\r\n const handleShow = () => setShow(true);\r\n const { t } = useTranslation();\r\n\r\n const {arrayAsBadges} = Helpers();\r\n\r\n return (\r\n <>\r\n \r\n \r\n { requirement ?\r\n <>\r\n \r\n \r\n {requirement?.standard && <>

{requirement?.standard.number} - {requirement?.standard.title}

\r\n

{t('Edition')} {requirement?.standard.edition}, {t('Amendment')} {requirement?.standard.Amendment}

}\r\n

{t('Section')} {requirement?.section}

\r\n
\r\n
\r\n \r\n
\r\n            \r\n          
\r\n\r\n\r\n { requirement?.topic.length > 0 &&\r\n

{t('Topics')} {requirement?.topic && arrayAsBadges(requirement?.topic.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement?.importance.length > 0 &&\r\n

{t('Degree of Compliance')} {requirement?.importance && arrayAsBadges(requirement?.importance.split(','),'importance')}

\r\n }\r\n { requirement?.stakeholder.length > 0 &&\r\n

{t('Stakeholders')} {requirement?.stakeholder && arrayAsBadges(requirement?.stakeholder.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement.qmp.length > 0 &&\r\n

{t('QM Principles')} {requirement?.qmp && arrayAsBadges(requirement?.qmp.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement.rme.length > 0 &&\r\n

{t('RM Elements')} {requirement?.rme && arrayAsBadges(requirement?.rme.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\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 RequirementDetailsModal\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { apiService } from './apiService';\r\n\r\nconst currentNotificationsSubject = new BehaviorSubject({notifications: [], getNotifications : false});\r\n\r\nexport const notificationService = {\r\n getNotifications,\r\n setNotifications,\r\n markNotificationAsRead,\r\n markNotificationAsReadAPI,\r\n currentNotifications: currentNotificationsSubject.asObservable(),\r\n get currentNotificationsValue () { return currentNotificationsSubject.value }\r\n};\r\n\r\nfunction getNotifications() {\r\n\r\n apiService.apiGet(process.env.REACT_APP_API_URL + '/notify/get')\r\n .then(\r\n (data) => {\r\n currentNotificationsSubject.next(\r\n {notifications: data.items, getNotifications : data.getNotifications}\r\n );\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n currentNotificationsSubject.next({notifications: [], getNotifications : false});\r\n }\r\n if(error.message === '500') {\r\n //tbd\r\n }\r\n }\r\n );\r\n\r\n}\r\n\r\nfunction markNotificationAsReadAPI(notification_id) {\r\n return apiService.apiGet(process.env.REACT_APP_API_URL + '/notify/read/' + notification_id);\r\n}\r\n\r\nfunction setNotifications(notifications) {\r\n currentNotificationsSubject.next(notifications);\r\n}\r\n\r\nfunction markNotificationAsRead(notification_id) {\r\n\r\n var currentNotificationsData = currentNotificationsSubject.value;\r\n\r\n for (const notification of currentNotificationsData.notifications.filter(x=> !x.read_at)) {\r\n if (notification.data.req.id === parseInt(notification_id,10)) {\r\n markNotificationAsReadAPI(notification.id).then(\r\n (result) => {\r\n notification.read_at = new Date();\r\n //debugger;\r\n });\r\n }\r\n }\r\n\r\n setNotifications({notifications: currentNotificationsData.notifications, getNotifications : currentNotificationsData.getNotifications});\r\n\r\n}\r\n","import React, { useEffect , useState, useCallback} from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Table from 'react-bootstrap/Table'\r\nimport Button from 'react-bootstrap/Button'\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport ListSaveToFormModal from '../modals/ListSaveToFormModal';\r\nimport ListFormModal from '../modals/ListFormModal';\r\nimport { useTranslation } from 'react-i18next';\r\nimport MarkdownView from 'react-showdown';\r\nimport RequirementDetailsModal from '../modals/RequirementDetailsModal';\r\nimport { requirementsService } from '../../services/requirementsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { notificationService } from '../../services/notificationService';\r\nimport Helpers from '../Helpers';\r\n\r\nexport default function RequirementLinksGrid(props) {\r\n\r\n const [linkedRequirements, setLinkedRequirements] = useState([]);\r\n const [requirement, setRequirement] = useState(null);\r\n const [recordsTotal, setRecordsTotal] = useState(null);\r\n const [selectedReqId, setSelectedReqId] = useState(null);\r\n const [selectedReqIdTimestamp, setSelectedReqIdTimestamp] = useState(null);\r\n const [selectedListReqIds, setSelectedListReqIds] = useState([]);\r\n const [showListFormModal, setShowListFormModal] = useState(false);\r\n const [loadingData, setLoadingData] = useState(false);\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [showListSaveToFormModal, setShowListSaveToFormModal] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const { t } = useTranslation();\r\n const history = useHistory();\r\n\r\n const {docTypeIdToDocType} = Helpers();\r\n\r\n const onCloseListFormModalCallback = (reloadData) => {\r\n if (reloadData)\r\n setSelectedReqId(selectedReqId);\r\n\r\n setShowListFormModal(false);\r\n setShowListSaveToFormModal(true);\r\n }\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n const showRequirementsModal = (req_id) => {\r\n setSelectedReqId(req_id);\r\n setSelectedReqIdTimestamp(new Date().valueOf());\r\n }\r\n\r\n const onCloseShowListSaveToFormModalCallback = (reloadData,showAddListModal) => {\r\n setShowListSaveToFormModal(false);\r\n setShowListFormModal(showAddListModal);\r\n }\r\n\r\n const showListSaveToForm = (e,req_id) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setShowListSaveToFormModal(true);\r\n setSelectedListReqIds([req_id]);\r\n }\r\n\r\n const req_id = props.req_id;\r\n const receiveRequirement = props.receiveRequirement;\r\n\r\n const retrieveData = useCallback(async () => {\r\n\r\n setLoadingData(true);\r\n requirementsService.getLinkedRequirementsById(req_id)\r\n .then(\r\n (result) => {\r\n var arrReqs = [];\r\n\r\n for(var i in result.items)\r\n arrReqs.push(result.items[i]);\r\n\r\n setInitiallyLoaded(true);\r\n setLoadingData(false);\r\n setLinkedRequirements(arrReqs);\r\n setRequirement(result.cm_req);\r\n setRecordsTotal(arrReqs.length);\r\n receiveRequirement(result.cm_req);\r\n\r\n //update local notifications\r\n notificationService.markNotificationAsRead(req_id);\r\n },\r\n error => {\r\n\r\n if (error.message === '401' ) {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setShowErrorModal(true);\r\n } else if (error.message === '403') {\r\n history.push('/');\r\n }\r\n\r\n }\r\n );\r\n\r\n }, [req_id, history,receiveRequirement]);\r\n\r\n useEffect(() => {\r\n retrieveData();\r\n },[retrieveData]);\r\n\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n { initiallyLoaded && !loadingData && \r\n \r\n }\r\n { initiallyLoaded ?\r\n <>\r\n
\r\n
\r\n showRequirementsModal(props.req_id)}\r\n >\r\n
\r\n

{docTypeIdToDocType(requirement?.standard.doc_type)} {requirement?.standard.number} - {requirement?.standard.title}

\r\n

{t('Edition')} {requirement?.standard.edition}, {t('Amendment')} {requirement?.standard.edition}

\r\n

{t('Section')} {requirement?.section}

\r\n
\r\n \r\n \r\n \r\n
\r\n showListSaveToForm(e,requirement?.id)}\r\n >\r\n {t('Save')}\r\n \r\n
\r\n \r\n
\r\n { recordsTotal > 0 ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {linkedRequirements.sort((a, b) => a.standard.number - b.standard.number).map(function(value, index){\r\n return( showRequirementsModal(value.id)}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
{t('Section')}{t('Text')}
{docTypeIdToDocType(value.standard.doc_type)} {value.standard.number}{value.section}\r\n \r\n \r\n \r\n \r\n showListSaveToForm(e,value.id)}\r\n >\r\n {t('Save')}\r\n \r\n
\r\n \r\n\r\n \r\n :\r\n <>{t('No linked items')}.\r\n }\r\n
\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\nimport Helpers from '../components/Helpers'\r\n\r\nimport RequirementsLinksGrid from '../components/grids/RequirementsLinksGrid';\r\n\r\nfunction Links() {\r\n\r\n const { t } = useTranslation();\r\n const { id } = useParams();\r\n\r\n const [requirement, setRequirement] = useState(null);\r\n\r\n const {docTypeIdToDocType} = Helpers();\r\n\r\n const receiveRequirement = (req) =>\r\n {\r\n setRequirement(req);\r\n }\r\n\r\n return
\r\n \r\n {t('Links')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Requirements linked to requirement')}: {requirement &&\r\n {docTypeIdToDocType(requirement.standard.doc_type)} {requirement.standard.number}
{t('Section')} {requirement.section}
\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 Links;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { listsService } from '../../services/listsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nfunction ListForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [loadingData, setLoadingData] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const [listName, setListName] = useState(\"\");\r\n\r\n useEffect(() => {\r\n\r\n setLoadingData(true);\r\n listsService.getListById(props.list_id)\r\n .then(\r\n (result) => {\r\n setInitiallyLoaded(true);\r\n setLoadingData(false);\r\n setListName(result.cm_list.list_name);\r\n },\r\n error => {\r\n\r\n if (error.message === '401' ) {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n //setShowErrorModal(true);\r\n } else if (error.message === '403') {\r\n // history.push('/');\r\n }\r\n\r\n }\r\n );\r\n\r\n },[props.list_id]);\r\n\r\n const handleSubmit = async(e) => {\r\n e.preventDefault();\r\n\r\n listsService.deleteList(props.list_id, SiteConfig.docType)\r\n .then(\r\n data => {\r\n setSubmitting(false);\r\n props.onSuccessfulFormSubmit(true);\r\n myListCounterService.setMyListCount(data.count);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('Delete list error'));\r\n //setValidated(false);\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n return (\r\n\r\n <>\r\n { initiallyLoaded && loadingData &&\r\n \r\n }\r\n { initiallyLoaded ?\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\r\n }\r\n\r\n
\r\n
\r\n {t('Are you sure you want to delete the list') + ' \\'' + listName + '\\' '}? {t('This will not delete the requirements.')}\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\n );\r\n};\r\n\r\nexport default ListForm;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { useTranslation } from 'react-i18next';\r\nimport ListDeleteForm from '../forms/ListDeleteForm'\r\n\r\nfunction ListDeleteModal(props) {\r\n\r\n useEffect(() => {\r\n setShow(props.show);\r\n }, [props.show]);\r\n\r\n const [show, setShow] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const handleFormSubmit = (reloadData) => {\r\n props.handleModalClose(reloadData)\r\n }\r\n\r\n return (\r\n\r\n props.handleModalClose(false) }\r\n backdrop=\"static\"\r\n size=\"md\"\r\n >\r\n \r\n \r\n

{t('Delete List')}

\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 ListDeleteModal;\r\n","import React, { useEffect , useState, useCallback} from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Table from 'react-bootstrap/Table';\r\nimport Button from 'react-bootstrap/Button';\r\nimport ButtonGroup from 'react-bootstrap/ButtonGroup';\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\r\nimport Popover from 'react-bootstrap/Popover';\r\nimport Form from 'react-bootstrap/Form';\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport ListFormModal from '../modals/ListFormModal';\r\nimport ListDeleteModal from '../modals/ListDeleteModal';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { listsService } from '../../services/listsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nexport default function RequirementLinksGrid(props) {\r\n\r\n const [lists, setLists] = useState([]);\r\n const [listRecordsTotal, setListRecordsTotal] = useState(null);\r\n const [selectedListId, setSelectedListId] = useState(null);\r\n const [loadingListData, setLoadingListData] = useState(false);\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [showListFormModal, setShowListFormModal] = useState(false);\r\n const [showListDeleteFormModal, setShowListDeleteFormModal] = useState(false);\r\n const [listsInitiallyLoaded, setListsInitiallyLoaded] = useState(false);\r\n const [canCreateLists, setCanCreateLists] = useState(false);\r\n\r\n const { t } = useTranslation();\r\n const history = useHistory();\r\n\r\n const addToClipboard = (e,sharePath) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n navigator.clipboard.writeText(window.location.protocol + \"//\" + window.location.host + sharePath);\r\n }\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n const onCloseListFormModalCallback = (reloadData) => {\r\n setShowListFormModal(false);\r\n if (reloadData)\r\n retrieveListData();\r\n }\r\n\r\n const onCloseListDeleteFormModalCallback = (reloadData) => {\r\n setShowListDeleteFormModal(false);\r\n if (reloadData)\r\n retrieveListData();\r\n }\r\n\r\n const showListForm = (e,list_id) => {\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setShowListFormModal(true);\r\n setSelectedListId(list_id);\r\n }\r\n\r\n const showListDeleteForm = (e,list_id) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setShowListDeleteFormModal(true);\r\n setSelectedListId(list_id);\r\n }\r\n\r\n const selectList = (list_id) => {\r\n history.push('/mylists/' + list_id);\r\n }\r\n\r\n const retrieveListData = useCallback(async () => {\r\n\r\n setLoadingListData(true);\r\n listsService.getLists(SiteConfig.docType)\r\n .then(\r\n (result) => {\r\n\r\n setListsInitiallyLoaded(true);\r\n setLoadingListData(false);\r\n setLists(result.lists);\r\n setListRecordsTotal(result.lists.length);\r\n setCanCreateLists(result.canCreateLists);\r\n\r\n },\r\n error => {\r\n\r\n if (error.message === '401' ) {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setShowErrorModal(true);\r\n } else if (error.message === '403') {\r\n history.push('/');\r\n }\r\n\r\n }\r\n );\r\n\r\n },[history]);\r\n\r\n useEffect(() => {\r\n retrieveListData();\r\n\r\n },[retrieveListData]);\r\n\r\n\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n { listsInitiallyLoaded && loadingListData &&\r\n \r\n }\r\n { listsInitiallyLoaded ?\r\n <>\r\n\r\n
\r\n { listRecordsTotal > 0 ?\r\n <>\r\n\r\n\r\n
\r\n
\r\n { canCreateLists &&\r\n showListForm(e)}\r\n variant=\"primary\"\r\n >{t('New list')}\r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n { canCreateLists &&\r\n \r\n }\r\n \r\n \r\n \r\n {lists.sort((a, b) => a.id - b.id).map(function(value, index){\r\n return( selectList(value.id)}\r\n >\r\n \r\n \r\n { canCreateLists &&\r\n \r\n }\r\n\r\n )\r\n })\r\n }\r\n \r\n
{t('#')}{t('List name')}
{index+1}\r\n \r\n {value.list_name}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {t('Added to Clipboard!')}\r\n \r\n \r\n \r\n {t('Highlight text above and copy if clipboard is empty')}\r\n \r\n \r\n
\r\n \r\n }\r\n >\r\n addToClipboard(e,value.share_link)}\r\n variant=\"primary\"\r\n >{t('Share')}\r\n \r\n showListForm(e,value.id)}\r\n variant=\"success\"\r\n >{t('Rename')}\r\n showListDeleteForm(e,value.id)}\r\n variant=\"danger\"\r\n >{t('Delete')}\r\n \r\n
\r\n\r\n \r\n :\r\n <>{t('No lists')}.\r\n }\r\n
\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}\r\n","import React from \"react\";\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nimport ListsGrid from '../components/grids/ListsGrid';\r\n\r\nfunction Lists() {\r\n\r\n const { t } = useTranslation();\r\n\r\n return
\r\n \r\n {t('My Lists')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('My Lists')}

\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 Lists;\r\n","import { useEffect} from 'react';\r\nimport { singletonHook } from 'react-singleton-hook';\r\nimport { notificationService } from './notificationService';\r\nimport { apiService } from './apiService';\r\n\r\n//const api = { async getMe() { return { name: 'test' }; } };\r\n\r\nconst init = { running: true };\r\n\r\nconst useNotificationsPollingImpl = () => {\r\n\r\n useEffect(() => {\r\n\r\n const retrieveData = () => {\r\n\r\n if (init.running) {\r\n apiService.apiGet(process.env.REACT_APP_API_URL + '/notify/get')\r\n .then(\r\n (data) => {\r\n notificationService.setNotifications({notifications: data.items, getNotifications : data.getNotifications});\r\n },\r\n error => {\r\n if (error.message === '401'\r\n || error.message === '500') {\r\n init.running = false;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n retrieveData();\r\n setInterval(retrieveData,process.env.REACT_APP_NOTIFICATIONS_POLL_INTERVAL_MILLISECONDS);\r\n }, []);\r\n\r\n return init;\r\n};\r\n\r\nexport const notificationsPolling = singletonHook(init, useNotificationsPollingImpl);\r\n","\r\nimport React, { useEffect , useState} from \"react\";\r\nimport { Link, useHistory , useLocation } from \"react-router-dom\";\r\n\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\n\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\n\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { Formik, Field, Form, ErrorMessage } from 'formik';\r\n\r\nimport * as Yup from \"yup\";\r\n\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\nimport { notificationService } from '../../services/notificationService';\r\nimport { notificationsPolling } from '../../services/notificationsPolling';\r\n\r\nfunction LoginForm(props) {\r\n\r\n const notificationsPollingMode = notificationsPolling();\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n // redirect to home if already logged in\r\n if (authenticationService.currentUserValue) {\r\n history.push('/');\r\n }\r\n },[history]);\r\n\r\n\r\n\r\n return (\r\n {\r\n\r\n setFeedbackText('');\r\n\r\n setSubmitting(true);\r\n // Fetch the accessToken from the server\r\n authenticationService.login(fields.email, fields.password)\r\n .then(\r\n user => {\r\n setSubmitting(false);\r\n myListCounterService.getMyListCount();\r\n notificationService.getNotifications()\r\n //start the notifications polling\r\n notificationsPollingMode.running = true;\r\n const { from } = location.state || { from: { pathname: \"/\" } };\r\n history.push(from);\r\n\r\n },\r\n error => {\r\n\r\n setSubmitting(false);\r\n setFeedbackText(t('Login error'));\r\n //setValidated(false);\r\n }\r\n );\r\n }}\r\n >\r\n {({ errors, status, touched }) => (\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\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\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 {t('Create account')}\r\n {t('Forgot your password?')}\r\n

\r\n
\r\n
\r\n This site is protected by reCAPTCHA and the Google \r\n Privacy Policy and \r\n Terms of Service apply.\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 LoginForm;\r\n","\r\nimport React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport LoginForm from '../components/forms/LoginForm';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction Login() {\r\n const { t } = useTranslation();\r\n return
\r\n \r\n {t('Login')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Login')}

\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\n","import React, { useEffect , useState} from \"react\";\r\nimport Pagination from 'react-bootstrap/Pagination';\r\nimport DropdownButton from 'react-bootstrap/DropdownButton';\r\nimport Dropdown from 'react-bootstrap/Dropdown';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nfunction RequirementsPagination(props) {\r\n\r\n const [items, setItems] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n // calculate total pages\r\n //const totalPages = Math.ceil(props.pages_total / pageSize);\r\n //debugger;\r\n let startPage, endPage;\r\n if (props.pages_total <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = props.pages_total;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (props.page <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (props.page + 4 >= props.pages_total) {\r\n startPage = props.pages_total - 9;\r\n endPage = props.pages_total;\r\n } else {\r\n startPage = props.page - 5;\r\n endPage = props.page + 4;\r\n }\r\n }\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = [...Array((endPage + 1) - startPage).keys()].map(i => startPage + i);\r\n\r\n let items = [];\r\n\r\n pages.forEach((number, i) => {\r\n items.push(\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(e.target.text);\r\n }}\r\n key={number}\r\n className={number === props.page ? '' : 'visible-desktop'}\r\n active={number === props.page}>\r\n {number}\r\n ,\r\n );\r\n });\r\n\r\n setItems(items);\r\n\r\n }, [props]);\r\n\r\n return (\r\n \r\n {\r\n if (props.onPageSizeChange)\r\n props.onPageSizeChange(e);\r\n }}\r\n >\r\n 5\r\n 10\r\n 20\r\n 50\r\n 100\r\n 200\r\n\r\n \r\n \r\n\r\n\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(1);\r\n }}\r\n />\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(props.page-1);\r\n }}\r\n />\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(1);\r\n }}>{1}\r\n \r\n \r\n {items}\r\n \r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(props.pages_total);\r\n }}\r\n >{props.pages_total}\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(props.page+1);\r\n }}\r\n />\r\n {\r\n if (props.onItemClick)\r\n props.onItemClick(props.pages_total);\r\n }}\r\n />\r\n \r\n\r\n \r\n )\r\n\r\n};\r\n\r\n\r\nexport default RequirementsPagination\r\n","import React, { useEffect , useState, useRef} from \"react\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport Nav from 'react-bootstrap/Nav'\r\nimport { useTranslation } from 'react-i18next';\r\nimport { requirementsService } from '../services/requirementsService';\r\nimport ButtonSpinner from './spinners/ButtonSpinner';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\n\r\nfunction MyListCSVDownload({list_id,disabled}) {\r\n\r\n const { t } = useTranslation();\r\n\r\n const [headers, setHeaders] = useState([]);\r\n const [data, setData] = useState(null);\r\n const [fetching, setFetching] = useState(false);\r\n\r\n const csvInstance = useRef();\r\n\r\n useEffect(() => {\r\n if (data && csvInstance.current && csvInstance.current.link) {\r\n setTimeout(() => {\r\n csvInstance.current.link.click();\r\n setFetching(false);\r\n });\r\n }\r\n\r\n }, [data]);\r\n\r\n\r\n return (\r\n <>{disabled}\r\n {\r\n if (disabled) {\r\n return;\r\n }\r\n setFetching(true);\r\n requirementsService.getListExport(list_id,SiteConfig.docType,SiteConfig.siteTag)\r\n .then(\r\n (result) => {\r\n\r\n result.headers.forEach((item, i) => {\r\n result.headers[i] = t(item);\r\n });\r\n\r\n setHeaders(result.headers);\r\n setData(result.data);\r\n },\r\n error => {\r\n\r\n }\r\n );\r\n\r\n }}\r\n >\r\n  {t('Export as CSV')}{fetching && }\r\n \r\n\r\n {data &&\r\n \r\n }\r\n \r\n )\r\n};\r\n\r\nexport default MyListCSVDownload;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport Carousel from 'react-bootstrap/Carousel'\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport Helpers from '../Helpers'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { requirementsService } from '../../services/requirementsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport MarkdownView from 'react-showdown';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\n\r\nfunction RequirementDetailsCarousel(props) {\r\n //const [items, setItems] = useState([]);\r\n const [index, setIndex] = useState(0);\r\n\r\n const handleSelect = (selectedIndex, e) => {\r\n setIndex(selectedIndex);\r\n };\r\n\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [loadingData, setLoadingData] = useState(false);\r\n const [requirements, setRequirements] = useState([]);\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n const handleClose = () =>\r\n {\r\n setShow(false);\r\n }\r\n\r\n const handleShow = () => setShow(true);\r\n\r\n const {arrayAsBadges} = Helpers();\r\n const { t } = useTranslation();\r\n\r\n const useModifiedData = (sortColumn, sortType, page, pageSize) => {\r\n\r\n const [modifiedData, setModifiedData] = useState([])\r\n\r\n useEffect(() => {\r\n\r\n const retrieveData = async () => {\r\n\r\n setLoadingData(true);\r\n requirementsService.postDetailedList(props.list_id, sortColumn, sortType, page, SiteConfig.docType, pageSize)\r\n .then(\r\n (result) => {\r\n setLoadingData(false);\r\n setRequirements(result.requirements.data);\r\n\r\n let items = [];\r\n\r\n result.requirements.data.forEach((requirement, i) => {\r\n\r\n items.push(\r\n \r\n {requirement?.standard && <>

{requirement?.standard.number} - {requirement?.standard.title}

\r\n

{t('Edition')} {requirement?.standard.edition}, {t('Amendment')} {requirement?.standard.Amendment}

}\r\n

{t('Section')} {requirement?.section}

\r\n\r\n
\r\n                              \r\n                            
\r\n { requirement?.topic.length > 0 &&\r\n

{t('Topics')} {requirement?.topic && arrayAsBadges(requirement?.topic.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement?.importance.length > 0 &&\r\n

{t('Degree of Compliance')} {requirement?.importance && arrayAsBadges(requirement?.importance.split(','),'importance')}

\r\n }\r\n { requirement?.stakeholder.length > 0 &&\r\n

{t('Stakeholders')} {requirement?.stakeholder && arrayAsBadges(requirement?.stakeholder.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement.qmp && requirement.qmp.length > 0 &&\r\n

{t('QM Principles')} {requirement?.qmp && arrayAsBadges(requirement?.qmp.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n { requirement.rme && requirement.rme.length > 0 &&\r\n

{t('RM Elements')} {requirement?.rme && arrayAsBadges(requirement?.rme.map(item => {\r\n return item.title;\r\n }) ,'primary')}

\r\n }\r\n\r\n ,\r\n );\r\n });\r\n\r\n setModifiedData(items);\r\n\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n }\r\n }\r\n );\r\n }\r\n\r\n retrieveData();\r\n\r\n }, [sortColumn, sortType, page, pageSize])\r\n\r\n return modifiedData;\r\n }\r\n\r\n const items = useModifiedData(props.sort_column, props.sort_type, props.page, props.page_size )\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (props.req_id) {\r\n //set the carousel index\r\n requirements.forEach((requirement, i) => {\r\n if (props.req_id === requirement.id)\r\n setIndex(i);\r\n });\r\n }\r\n\r\n }, [props.req_id, requirements]);\r\n\r\n useEffect(() => {\r\n\r\n if (props.req_id_timestamp) {\r\n handleShow();\r\n }\r\n\r\n }, [props.req_id_timestamp]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n { !loadingData ?\r\n <>\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {items}\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 RequirementDetailsCarousel\r\n","\r\nfunction SortableTableHeader(props) {\r\n\r\n const sort = field => {\r\n let sort_type = props.sort_column !== field ? 'asc' : props.sort_type === 'asc' ? 'desc' : 'asc';\r\n props.onHeaderClick(field,sort_type);\r\n }\r\n return (\r\n {\r\n sort(props.field);\r\n }}>\r\n \r\n {props.label}\r\n {props.sort_column === props.field ?\r\n <>\r\n { props.sort_type === 'asc' ?\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 SortableTableHeader;\r\n","import React, { useEffect , useState, useRef, useCallback} from \"react\";\r\nimport RequirementsPagination from './RequirementsPagination';\r\n\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Button from 'react-bootstrap/Button'\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger'\r\nimport Popover from 'react-bootstrap/Popover'\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport ListSaveToFormModal from '../modals/ListSaveToFormModal';\r\nimport ListFormModal from '../modals/ListFormModal';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport MyListCSVDownload from '../MyListCSVDownload'\r\nimport Helpers from '../Helpers'\r\nimport { useTranslation } from 'react-i18next';\r\nimport MarkdownView from 'react-showdown';\r\n\r\nimport RequirementDetailsCarousel from '../modals/RequirementDetailsCarousel';\r\n\r\nimport SortableTableHeader from './SortableTableHeader';\r\nimport { requirementsService } from '../../services/requirementsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nexport default function RequirementsSelectedListGrid(props) {\r\n\r\n const upperPaginationRef = useRef(null);\r\n\r\n const [requirements, setRequirements] = useState([]);\r\n const [sortColumn, setSortColumn] = useState('standard_number');\r\n const [sortType, setSortType] = useState('asc');\r\n const [page, setPage] = useState(1);\r\n const [pageSize, setPageSize] = useState(process.env.REACT_APP_REQUIREMENTS_RESULTS_PER_PAGE);\r\n const [pagesTotal, setPagesTotal] = useState(10);\r\n const [recordsTotal, setRecordsTotal] = useState(null);\r\n\r\n const [rowUpdating, setRowUpdating] = useState([]);\r\n const [remove_all_updating, setRemove_all_updating] = useState(false);\r\n const [loadingData, setLoadingData] = useState(false);\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const [canExportList, setCanExportList] = useState(false);\r\n const [canViewLinkedRequirements, setCanViewLinkedRequirements] = useState('false');\r\n const [showListSaveToFormModal, setShowListSaveToFormModal] = useState(false);\r\n const [showListFormModal, setShowListFormModal] = useState(false);\r\n const [selectedListReqIds, setSelectedListReqIds] = useState([]);\r\n const [canCreateLists, setCanCreateLists] = useState(false);\r\n const [listName, setListName] = useState(\"\");\r\n const [selected_req_id, setSelected_req_id] = useState(null);\r\n const [selected_req_id_timestamp, setSelected_req_id_timestamp] = useState(null);\r\n\r\n const { t } = useTranslation();\r\n const {arrayAsBadges, docTypeIdToDocType} = Helpers();\r\n const history = useHistory();\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n const handleSortColumn = (sortColumn, sortType) => {\r\n setSortColumn(sortColumn);\r\n setSortType(sortType);\r\n setPage(1);\r\n return true;\r\n }\r\n\r\n const lowerPageSizeEventHandler = (page_size) => {\r\n window.scrollTo({top: upperPaginationRef.current.getBoundingClientRect().bottom, behavior: \"smooth\"});\r\n pageSizeEventHandler(page_size, true);\r\n }\r\n\r\n const pageSizeEventHandler = (page_size, scrollToTop) => {\r\n setPageSize(page_size);\r\n setPage(1);\r\n }\r\n\r\n const lowerPaginationEventHandler = (page_size) => {\r\n window.scrollTo({top: upperPaginationRef.current.getBoundingClientRect().bottom, behavior: \"smooth\"});\r\n paginationEventHandler(page_size, true);\r\n }\r\n\r\n const paginationEventHandler = (page, scrollToTop) => {\r\n setPage(parseInt(page, 10));\r\n }\r\n\r\n const onCloseShowListSaveToFormModalCallback = (reloadData,showAddListModal) => {\r\n setShowListSaveToFormModal(false);\r\n setShowListFormModal(showAddListModal);\r\n if (reloadData)\r\n retrieveData();\r\n\r\n }\r\n\r\n const showListSaveToForm = (e,req_id) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setShowListSaveToFormModal(true);\r\n setSelectedListReqIds([req_id]);\r\n }\r\n\r\n const onCloseListFormModalCallback = (reloadData) => {\r\n setShowListFormModal(false);\r\n setShowListSaveToFormModal(true);\r\n }\r\n\r\n const navigateToLinkPage= (e, id) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n history.push('/links/' + id);\r\n }\r\n\r\n const handleRemoveClick = (e, id) => {\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n let newRowUpdating = [...rowUpdating];\r\n newRowUpdating[id] = true;\r\n setRowUpdating(newRowUpdating);\r\n setLoadingData(true);\r\n\r\n requirementsService.deleteFromList(props.list_id, id, SiteConfig.docType)\r\n .then(\r\n (data) => {\r\n\r\n //newRowUpdating[id] = true;\r\n setLoadingData(false);\r\n setRowUpdating(newRowUpdating);\r\n let updatedRequirements = requirements.filter(x=> x.id !== id);\r\n\r\n receiveListInfo(listName, recordsTotal - 1);\r\n setRecordsTotal(recordsTotal - 1);\r\n\r\n if (0 === updatedRequirements.length) {\r\n if (pagesTotal === page) {\r\n setPage(page-1);\r\n } else {\r\n //trigger a fetch\r\n setPage(0);\r\n setPage(1);\r\n }\r\n } else {\r\n setRequirements(updatedRequirements);\r\n }\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setLoadingData(false);\r\n setShowErrorModal(true);\r\n }\r\n }\r\n );\r\n }\r\n\r\n const handleRemoveAllClick = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n\r\n let row_updating = [...rowUpdating];\r\n let clnRequirements = [...requirements];\r\n\r\n let requirementIds = clnRequirements.map(item => {\r\n //row_updating[item.id] = true;\r\n return item.id;\r\n });\r\n\r\n clnRequirements.forEach((item, i) => {\r\n row_updating[item.id] = true;\r\n });\r\n\r\n setRemove_all_updating(true);\r\n setRowUpdating(row_updating);\r\n setLoadingData(true);\r\n\r\n requirementsService.deleteFromList(props.list_id, requirementIds)\r\n .then(\r\n (data) => {\r\n clnRequirements.forEach((item, i) => {\r\n row_updating[item.id] = false;\r\n });\r\n\r\n setRemove_all_updating(false);\r\n setRowUpdating(row_updating);\r\n\r\n if (pagesTotal === page) {\r\n setPage(page-1);\r\n } else {\r\n //trigger a fetch\r\n setPage(0);\r\n setPage(page);\r\n }\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setShowErrorModal(true);\r\n }\r\n }\r\n );\r\n }\r\n\r\n const receiveListInfo = props.receiveListInfo;\r\n const list_id = props.list_id;\r\n\r\n const retrieveData = useCallback(async () => {\r\n\r\n setLoadingData(true);\r\n requirementsService.postSelectedList(list_id, sortColumn, sortType, page, SiteConfig.docType, pageSize)\r\n .then(\r\n (result) => {\r\n setInitiallyLoaded(true);\r\n setRequirements(result.requirements.data);\r\n setPagesTotal(result.requirements.last_page);\r\n setRecordsTotal(result.requirements.total);\r\n setCanExportList(result.canexportlist);\r\n setListName(result.listName);\r\n receiveListInfo(result.listName, result.requirements.total);\r\n setCanCreateLists(result.canCreateLists);\r\n setCanViewLinkedRequirements(result.isAmasAdmin);\r\n setLoadingData(false);\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n setShowErrorModal(true);\r\n }\r\n }\r\n );\r\n }\r\n ,[receiveListInfo,list_id, sortColumn, sortType, page, pageSize]);\r\n\r\n useEffect(() => {\r\n retrieveData();\r\n }, [retrieveData]);\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n\r\n { initiallyLoaded && loadingData &&\r\n \r\n }\r\n { initiallyLoaded ?\r\n <>\r\n
\r\n { recordsTotal > 0 ?\r\n <>
\r\n \r\n {\r\n window.print();\r\n }\r\n }\r\n > {t('Print')}\r\n \r\n { canExportList && }\r\n
\r\n\r\n
\r\n handleRemoveAllClick(e)}\r\n disabled={remove_all_updating}\r\n >\r\n {t('Remove all')}\r\n {(remove_all_updating) && }\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 {t('Degree of Compliance')}\r\n \r\n
\r\n \r\n
\r\n \r\n {t('Save')}\r\n \r\n
\r\n
\r\n {\r\n 0 < requirements.length ?\r\n requirements.map((value, index) => {\r\n return (\r\n {\r\n //need to set a timestamp just in case the same row is clicked twice\r\n setSelected_req_id(value.id);\r\n setSelected_req_id_timestamp( new Date().valueOf());\r\n\r\n\r\n }}>\r\n \r\n <>\r\n
\r\n \r\n \r\n
{value.standard.title}
\r\n
\r\n \r\n }\r\n >\r\n {docTypeIdToDocType(value.standard.doc_type)} {value.standard.number}\r\n \r\n
\r\n
\r\n
{t('Standard')}
\r\n {docTypeIdToDocType(value.standard.doc_type)} :{value.standard_number} {value.standard.title}\r\n
\r\n \r\n
\r\n {value.section}
\r\n \r\n {arrayAsBadges(value.importance.split(','),'importance')}\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\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n <>\r\n handleRemoveClick(e,value.id)}\r\n disabled={rowUpdating[value.id] || false}>\r\n {t('Remove')}\r\n {(rowUpdating[value.id] || false) && }\r\n \r\n { canCreateLists &&\r\n showListSaveToForm(e,value.id)}\r\n >\r\n {t('Move')}\r\n \r\n }\r\n { canViewLinkedRequirements && SiteConfig.siteTag !== 'iddrs' && 'lbnmas' !== SiteConfig.siteTag &&\r\n navigateToLinkPage(e,value.id)}\r\n disabled={!value.hasLink}>\r\n {t('Links')}\r\n \r\n }\r\n \r\n \r\n )\r\n ;\r\n })\r\n :
\r\n
{t('No requirements')}
\r\n
\r\n }\r\n \r\n \r\n
\r\n handleRemoveAllClick(e)}\r\n disabled={remove_all_updating}\r\n >\r\n {t('Remove all')}\r\n {(remove_all_updating) && }\r\n \r\n \r\n
\r\n \r\n\r\n \r\n :\r\n
{t('No List Items')} {t('Search page')}.
\r\n }\r\n \r\n \r\n :\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}\r\n","import React, { useState, useCallback } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport Badge from 'react-bootstrap/Badge'\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nimport RequirementsSelectedListGrid from '../components/grids/RequirementsSelectedListGrid';\r\n\r\nfunction MyLists() {\r\n\r\n const { t } = useTranslation();\r\n const { id } = useParams();\r\n\r\n const [listName, setListName] = useState(null);\r\n const [listCount, setListCount] = useState(null);\r\n\r\n const receiveListInfo = useCallback((name,count) =>\r\n {\r\n setListName(name);\r\n setListCount(count);\r\n },[setListName,setListCount]);\r\n\r\n return
\r\n \r\n {t('My lists')}\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n

{ listName && <>{ listName } {listCount} {t('results')} }  

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n}\r\n\r\nexport default MyLists;\r\n","import React from \"react\";\r\nimport Table from 'react-bootstrap/Table'\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n\r\nexport default function NotificationsGridSingle(props) {\r\n\r\n const history = useHistory();\r\n const { t } = useTranslation();\r\n\r\n const selectRequirement = (req_id) => {\r\n history.push('/links/' + req_id);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n 0 < props.notifications.length ?\r\n props.notifications?.sort((a, b) => (new Date(a.updated_at).valueOf > new Date(b.updated_at).valueOf ) ? -1 : 1).map(function(value, index){\r\n return selectRequirement(value.data.req?.id)}>\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
{t('Date')}{t('Document type')}{t('Standard ID')}{t('Number')}
{value.updated_at}{value.data.req?.doc_type_text}{value.data.req?.standard_number}{value.data.req?.section}
{value.data.message} \r\n {t('Click here to view')}.\r\n
{t('No notifications')}
\r\n );\r\n}\r\n","import React, { useEffect , useState} from \"react\";\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport { useTranslation } from 'react-i18next';\r\nimport NotificationsGridSingle from './NotificationsGridSingle';\r\nimport { notificationService } from '../../services/notificationService';\r\nimport { apiService } from '../../services/apiService';\r\n\r\nexport default function NotificationsGrids(props) {\r\n\r\n const [readNotifications, setReadNotifications] = useState([]);\r\n const [unreadNotifications, setUnreadNotifications] = useState([]);\r\n const [recordsTotal, setRecordsTotal] = useState(null);\r\n\r\n const [loadingData, setLoadingData] = useState(true);\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [initiallyLoaded, setInitiallyLoaded] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const onCloseErrorModalCallback = () => {\r\n setShowErrorModal(false);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n\r\n apiService.apiGet(process.env.REACT_APP_API_URL + '/notify/get')\r\n .then(\r\n (data) => {\r\n setInitiallyLoaded(true);\r\n\r\n let unReadNotifications = data.items.filter(x=> !x.read_at);\r\n let readNotifications = data.items.filter(x=> x.read_at);\r\n\r\n //debugger;\r\n setReadNotifications(readNotifications);\r\n setUnreadNotifications(unReadNotifications);\r\n\r\n //mark all the unread notifications\r\n //as read\r\n //notificationService.setNotifications([]);\r\n unReadNotifications.forEach(x => {\r\n\r\n notificationService.markNotificationAsReadAPI(x.id)\r\n .then(\r\n (data) => {},\r\n error => {}\r\n )\r\n });\r\n\r\n notificationService.setNotifications({notifications: [], getNotifications: notificationService.currentNotificationsValue.getNotifications});\r\n setRecordsTotal(data.items.length);\r\n setLoadingData(false);\r\n },\r\n error => {\r\n if (error.message === '401'\r\n || error.message === '500') {\r\n setShowErrorModal(true);\r\n }\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 { initiallyLoaded && loadingData &&\r\n \r\n }\r\n { initiallyLoaded ?\r\n <>\r\n\r\n
\r\n { recordsTotal > 0 ?\r\n <>\r\n

{t('Unread')}

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

{t('Read')}

\r\n \r\n\r\n \r\n :\r\n <>{t('No notifications')}.\r\n }\r\n
\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nimport NotificationsGrids from '../components/grids/NotificationsGrids';\r\n\r\nfunction Notifications() {\r\n\r\n const { t } = useTranslation();\r\n const { id } = useParams()\r\n\r\n return
\r\n \r\n {t('Notifications')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Notifications')}

\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 Notifications;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { useTranslation } from 'react-i18next';\r\nimport Helpers from '../Helpers'\r\n\r\nfunction Terms(props) {\r\n\r\n useEffect(() => {\r\n setShow(props.show);\r\n }, [props.show]);\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n const { t } = useTranslation();\r\n const {createMarkup} = Helpers();\r\n\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n

{t('Terms & conditions of use')}

\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 Terms\r\n","\r\nimport React, { useEffect, useState, useRef, useCallback } from \"react\";\r\nimport { Link, useHistory , useLocation } from \"react-router-dom\";\r\n\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport Terms from '../modals/Terms';\r\n\r\nimport RecaptchaComponent from '../RecaptchaComponent';\r\n\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { Formik, Field, Form, ErrorMessage } from 'formik';\r\n\r\nimport * as Yup from \"yup\";\r\n\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\nimport { notificationService } from '../../services/notificationService';\r\nimport { notificationsPolling } from '../../services/notificationsPolling';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\n\r\nfunction RegisterForm(props) {\r\n\r\n const notificationsPollingMode = notificationsPolling();\r\n\r\n const feedbackAreaRef = useRef(null);\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [termsShow, setTermsShow] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const [reCaptchaToken, setReCaptchaToken] = useState(null);\r\n\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n // redirect to home if already logged in\r\n if (authenticationService.currentUserValue) {\r\n history.push('/');\r\n }\r\n },[history]);\r\n\r\n const onToken = useCallback(async(token) => {\r\n setReCaptchaToken(token);\r\n },[setReCaptchaToken]);\r\n\r\n\r\n\r\n const regenerateToken = () => {\r\n window.grecaptcha.ready(function() {\r\n window.grecaptcha\r\n .execute(SiteConfig.recapchaV3SiteKey, { action: \"registerform\" })\r\n .then(token => {\r\n onToken(token)\r\n });\r\n })\r\n };\r\n\r\n setInterval(function(){regenerateToken();}, 90*1000);\r\n\r\n\r\n const toggleTermsShow = () => setTermsShow(!termsShow);\r\n\r\n return (\r\n {\r\n\r\n setFeedbackText('');\r\n\r\n setSubmitting(true);\r\n // Fetch the accessToken from the server\r\n authenticationService.register(fields.name, fields.email, fields.password, reCaptchaToken, fields.sign_up, SiteConfig.siteTag )\r\n .then(\r\n user => {\r\n setSubmitting(false);\r\n myListCounterService.getMyListCount();\r\n notificationService.getNotifications()\r\n //start the notifications polling\r\n notificationsPollingMode.running = true;\r\n const { from } = location.state || { from: { pathname: \"/\" } };\r\n history.push(from);\r\n\r\n },\r\n error => {\r\n\r\n setSubmitting(false);\r\n setFeedbackText(t('Register error. If you already have an account using this email please try logging in') + '.');\r\n window.scrollTo({top: feedbackAreaRef.current.getBoundingClientRect().bottom, behavior: \"smooth\"});\r\n regenerateToken();\r\n //setValidated(false);\r\n }\r\n );\r\n }}\r\n >\r\n {({ errors, status, touched }) => (\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\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\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\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\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

\r\n {t('Forgot your password?')}\r\n

\r\n
\r\n
\r\n {t('This site is protected by reCAPTCHA and the Google')} \r\n {t('Privacy Policy')} {t('and')} \r\n {t('Terms of Service')} {t('apply')}.\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 RegisterForm;\r\n","import React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport RegisterForm from '../components/forms/RegisterForm';\r\n\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction Register() {\r\n const { t } = useTranslation();\r\n return
\r\n \r\n {t('Create account')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Create account')}

\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 Register;\r\n","\r\nimport React, { useEffect , useState} from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Formik, Field, Form, ErrorMessage } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { authenticationService } from '../../services/authenticationService';\r\n\r\nfunction ForgottenPasswordForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const [successText, setSuccessText] = useState(\"\");\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n // redirect to home if already logged in\r\n if (authenticationService.currentUserValue) {\r\n history.push('/');\r\n }\r\n },[history]);\r\n\r\n\r\n\r\n return (\r\n {\r\n setFeedbackText('');\r\n setSuccessText('');\r\n setSubmitting(true);\r\n // Fetch the accessToken from the server\r\n authenticationService.requestResetPassword(fields.email)\r\n .then(\r\n data => {\r\n //debugger;\r\n setSubmitting(false);\r\n setSuccessText(t('We have e-mailed your password reset link! If this does not show up within 2 minutes please check your junk mail folder.'));\r\n setFeedbackText('');\r\n\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setSuccessText('');\r\n setFeedbackText(t('There was a problem with your password request, did you enter the correct email address?'));\r\n }\r\n );\r\n }}\r\n >\r\n {({ errors, status, touched }) => (\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\r\n }\r\n {successText &&\r\n \r\n {successText}\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 {props.token}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

\r\n {t('Create account')}\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 ForgottenPasswordForm;\r\n","\r\nimport React from 'react';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport ForgottenPasswordForm from '../components/forms/ForgottenPasswordForm';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction ForgottenPassword() {\r\n const { t } = useTranslation();\r\n return
\r\n \r\n {t('Forgotten password')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Forgotten password')}

\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 ForgottenPassword;\r\n","import React, { useEffect , useState} from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Formik, Field, Form, ErrorMessage } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\n\r\nfunction ResetPasswordForm(props) {\r\n\r\n const { t } = useTranslation();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [feedbackText, setFeedbackText] = useState(\"\");\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n // redirect to home if already logged in\r\n if (authenticationService.currentUserValue) {\r\n history.push('/');\r\n }\r\n },[history]);\r\n\r\n\r\n\r\n return (\r\n {\r\n setFeedbackText('');\r\n setSubmitting(true);\r\n // Fetch the accessToken from the server\r\n authenticationService.resetPassword(props.token,fields.email,fields.password,fields.confirm_password)\r\n .then(\r\n data => {\r\n setSubmitting(false);\r\n myListCounterService.getMyListCount();\r\n const { from } = { from: { pathname: \"/\" } };\r\n history.push(from);\r\n },\r\n error => {\r\n setSubmitting(false);\r\n setFeedbackText(t('There was a problem with the password reset, did you enter the correct details?'));\r\n }\r\n );\r\n }}\r\n >\r\n {({ errors, status, touched }) => (\r\n\r\n <>\r\n {feedbackText && \r\n {feedbackText}\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\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\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n This site is protected by reCAPTCHA and the Google \r\n Privacy Policy and \r\n Terms of Service apply.\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 ResetPasswordForm;\r\n","import React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport {Helmet} from \"react-helmet\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport ResetPasswordForm from '../components/forms/ResetPasswordForm';\r\nimport { SiteConfig } from '../SiteConfig';\r\nimport HubSpotComponent from '../components/HubSpotComponent';\r\n\r\nfunction ResetPassword() {\r\n\r\n const { t } = useTranslation();\r\n const { token } = useParams();\r\n\r\n return
\r\n \r\n {t('Reset password')}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{t('Reset password')}

\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 ResetPassword;\r\n","import React from 'react';\r\nimport { Translation } from 'react-i18next';\r\nimport Badge from 'react-bootstrap/Badge';\r\nimport Button from 'react-bootstrap/Button';\r\nimport Toast from 'react-bootstrap/Toast';\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\r\nimport Popover from 'react-bootstrap/Popover'\r\nimport LoadingSpinner from '../spinners/LoadingSpinner'\r\nimport ModalSpinner from '../spinners/ModalSpinner'\r\nimport ButtonSpinner from '../spinners/ButtonSpinner';\r\nimport ErrorModal from '../modals/ErrorModal';\r\nimport Form from 'react-bootstrap/Form';\r\nimport ListSaveToFormModal from '../modals/ListSaveToFormModal';\r\nimport ListFormModal from '../modals/ListFormModal';\r\nimport Select, { createFilter } from 'react-select'\r\nimport debounce from 'lodash.debounce';\r\nimport queryString from 'query-string';\r\nimport BootstrapSwitchButton from 'bootstrap-switch-button-react'\r\nimport RequirementDetailsModal from '../modals/RequirementDetailsModal';\r\nimport RequirementsPagination from './RequirementsPagination';\r\n\r\nimport MarkdownView from 'react-showdown';\r\n\r\nimport SortableTableHeader from './SortableTableHeader';\r\nimport { requirementsService } from '../../services/requirementsService';\r\nimport { authenticationService } from '../../services/authenticationService';\r\nimport { myListCounterService } from '../../services/myListCounterService';\r\n\r\nimport { SiteConfig } from '../../SiteConfig';\r\n\r\nclass RequirementsGrid extends React.Component {\r\n\r\n constructor(props) {\r\n\r\n super(props);\r\n\r\n this.state = {\r\n error: null,\r\n initiallyLoaded: false,\r\n loadingData: false,\r\n areFiltersLoaded: false,\r\n page_size: process.env.REACT_APP_REQUIREMENTS_RESULTS_PER_PAGE,\r\n cm_topics: [],\r\n cm_stakeholders: [],\r\n cm_rmes: [],\r\n cm_qmps: [],\r\n cm_standards: [],\r\n doc_type: null,\r\n selected_req_id: null,\r\n selected_req_id_timestamp: null,\r\n selected_topics: [],\r\n selected_stakeholders: [],\r\n selected_rmes: [],\r\n selected_qmps: [],\r\n text_search: '',\r\n selected_standards: [],\r\n //selected_strengths: ['should','shall','may'],\r\n selected_strengths: [],\r\n sort_column: 'standard_number',\r\n sort_type: 'asc',\r\n selected_page: 1,\r\n requirements_only: false,\r\n numResults: 0,\r\n page: 0,\r\n resultsPerPage: 0,\r\n pagesTotal: 0,\r\n allQMPPrinciples: [],\r\n allRMElements:[],\r\n allTopics: [],\r\n allStakeholders: [],\r\n allStandards: [],\r\n requirements: [],\r\n cmLists: [],\r\n save_row_hover: [],\r\n row_updating: [],\r\n save_all_updating: false,\r\n show_toast : false,\r\n cm_standards_input_value: '',\r\n cm_topics_input_value: '',\r\n cm_stakeholders_input_value: '',\r\n cm_qmps_input_value: '',\r\n cm_rmes_input_value: '',\r\n window_location : window.location+window.location.search,\r\n showErrorModal: false,\r\n showListSaveToFormModal: false,\r\n showListFormModal: false,\r\n selectedListReqIds: [],\r\n canViewLinkedRequirements: false\r\n };\r\n this.handleSortColumn = this.handleSortColumn.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleClearAll = this.handleClearAll.bind(this);\r\n this.handleShare = this.handleShare.bind(this);\r\n this.toggleShowToast = this.toggleShowToast.bind(this);\r\n this.handleSaveClick = this.handleSaveClick.bind(this);\r\n this.handleSaveAllClick = this.handleSaveAllClick.bind(this);\r\n this.fetchRequirementsData = this.fetchRequirementsData.bind(this);\r\n this.paginationEventHandler = this.paginationEventHandler.bind(this);\r\n this.pageSizeEventHandler = this.pageSizeEventHandler.bind(this);\r\n this.lowerPaginationEventHandler = this.lowerPaginationEventHandler.bind(this);\r\n this.lowerPageSizeEventHandler = this.lowerPageSizeEventHandler.bind(this);\r\n\r\n this.fetchFilterData = this.fetchFilterData.bind(this);\r\n this.handleDegreesOfCompliance = this.handleDegreesOfCompliance.bind(this);\r\n this.determineDisabledOptions = this.determineDisabledOptions.bind(this);\r\n this.onTextSearchChange = this.onTextSearchChange.bind(this);\r\n this.updateRowStatus = this.updateRowStatus.bind(this);\r\n this.replaceQueryString = this.replaceQueryString.bind(this);\r\n this.onInputChange = this.handleInputChanged.bind(this);\r\n this.onCloseErrorModalCallback = this.onCloseErrorModalCallback.bind(this);\r\n this.showErrorModal = this.showErrorModal.bind(this);\r\n this.navigateToLinkPage = this.navigateToLinkPage.bind(this);\r\n this.saveHoverStatus = this.saveHoverStatus.bind(this);\r\n this.onCloseShowListSaveToFormModalCallback = this.onCloseShowListSaveToFormModalCallback.bind(this);\r\n this.onCloseListFormModalCallback = this.onCloseListFormModalCallback.bind(this);\r\n this.showListSaveToForm = this.showListSaveToForm.bind(this);\r\n this.popOverContainerRef = React.createRef();\r\n this.upperPaginationRef = React.createRef();\r\n this.locationarea = React.createRef();\r\n\r\n }\r\n\r\n showListSaveToForm = (e, req_id) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.setState({\r\n showListSaveToFormModal: true,\r\n selectedListReqIds: [req_id]\r\n });\r\n }\r\n\r\n\r\n onCloseShowListSaveToFormModalCallback = (reloadData,showAddListModal) => {\r\n this.setState({\r\n showListSaveToFormModal: false,\r\n showListFormModal:showAddListModal\r\n });\r\n };\r\n\r\n onCloseListFormModalCallback = (reloadData) => {\r\n if (reloadData) {\r\n this.setState({\r\n selectedReqId: this.state.selectedReqId\r\n });\r\n }\r\n\r\n this.setState({\r\n showListSaveToFormModal: true,\r\n showListFormModal:false\r\n });\r\n\r\n\r\n }\r\n\r\n noMorePsExt = {\r\n type: 'output',\r\n filter: function(text, converter) {\r\n var re = /<\\/?p[^>]*>/ig;\r\n text = text.replace(re, '');\r\n return text;\r\n }\r\n }\r\n\r\n\r\n\r\n badgeVariant(type) {\r\n\r\n var opts = {};\r\n var variant = '';\r\n\r\n switch (type.trim()) {\r\n case 'Shall':\r\n variant = 'danger';\r\n break;\r\n case 'Should':\r\n variant = 'success';\r\n break;\r\n case 'May':\r\n variant = 'info';\r\n break;\r\n case 'Informative':\r\n variant = 'informative';\r\n break;\r\n default:\r\n variant = 'info';\r\n }\r\n\r\n opts['variant'] = variant;\r\n\r\n return opts;\r\n\r\n }\r\n\r\n fetchRequirementsData(scrollToTop) {\r\n\r\n this.setState({\r\n loadingData: true\r\n });\r\n\r\n let data = new FormData();\r\n data.append('doc_type',SiteConfig.docType);\r\n data.append('text_search',this.state.text_search);\r\n data.append('selected_standards',this.state.selected_standards);\r\n data.append('selected_topics',this.state.selected_topics);\r\n data.append('selected_stakeholders',this.state.selected_stakeholders);\r\n data.append('selected_rmes',this.state.selected_rmes);\r\n data.append('selected_qmps',this.state.selected_qmps);\r\n data.append('selected_strengths',this.state.selected_strengths);\r\n data.append('selected_page',this.state.selected_page);\r\n data.append('page_size',this.state.page_size);\r\n data.append('sort_column',this.state.sort_column);\r\n data.append('sort_type',this.state.sort_type);\r\n\r\n requirementsService.requirements(data)\r\n .then(\r\n (result) => {\r\n\r\n this.setState({\r\n initiallyLoaded: true,\r\n loadingData: false,\r\n numResults: result.numResults,\r\n page: result.page,\r\n resultsPerPage: result.resultsPerPage,\r\n pagesTotal: result.pagesTotal,\r\n allQMPPrinciples: result.allQMPPrinciples,\r\n allRMElements: result.allRMElements,\r\n allStakeholders: result.allStakeholders,\r\n allTopics: result.allTopics,\r\n allStandards: result.allStandards,\r\n cmLists: result.Lists,\r\n requirements: result.Requirements.data,\r\n canViewLinkedRequirements: result.isAmasAdmin,\r\n\r\n }, function() {\r\n if (!this.state.areFiltersLoaded) {\r\n //get the filter data\r\n this.fetchFilterData();\r\n }\r\n //persist the state in the query string\r\n this.replaceQueryString();\r\n\r\n\r\n\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n this.setState({\r\n loadingData: false,\r\n });\r\n this.showErrorModal();\r\n } else {\r\n this.setState({\r\n loadingData: false,\r\n error\r\n });\r\n }\r\n }\r\n )\r\n }\r\n\r\n navigateToLinkPage(e, id) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.props.history.push('/links/' + id);\r\n }\r\n\r\n onCloseErrorModalCallback() {\r\n this.setState({\r\n showErrorModal : false\r\n });\r\n }\r\n\r\n showErrorModal() {\r\n this.setState({\r\n showErrorModal : true\r\n });\r\n }\r\n\r\n handleInputChanged(input, reason ,name) {\r\n\r\n if (reason.action === \"set-value\") {\r\n return;\r\n }\r\n\r\n switch (name) {\r\n case 'cm_topics':\r\n this.setState({\r\n cm_topics_input_value: input\r\n });\r\n break;\r\n case 'cm_stakeholders':\r\n this.setState({\r\n cm_stakeholders_input_value: input\r\n });\r\n break;\r\n case 'cm_rmes':\r\n this.setState({\r\n cm_rmes_input_value: input\r\n });\r\n break;\r\n case 'cm_qmps':\r\n this.setState({\r\n cm_qmps_input_value: input\r\n });\r\n break;\r\n case 'cm_standards':\r\n this.setState({\r\n cm_standards_input_value: input\r\n });\r\n break;\r\n default:\r\n };\r\n }\r\n\r\n handleShare = (e) => {\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n navigator.clipboard.writeText(this.state.window_location);\r\n\r\n this.toggleShowToast(e);\r\n }\r\n\r\n toggleShowToast = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.setState({\r\n show_toast: !this.state.show_toast\r\n });\r\n }\r\n\r\n handleClearAll = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n document.getElementById(\"text_search\").value = '';\r\n\r\n this.setState({\r\n selected_topics: [],\r\n selected_stakeholders: [],\r\n selected_rmes: [],\r\n selected_qmps: [],\r\n text_search: '',\r\n selected_standards: [],\r\n selected_strengths: [],\r\n sort_column: 'standard_number',\r\n sort_type: 'asc',\r\n selected_page: 1,\r\n requirements_only: false,\r\n cm_topics_select_values: [],\r\n cm_stakeholders_select_values: [],\r\n cm_rmes_select_values: [],\r\n cm_qmps_select_values: [],\r\n cm_standards_select_values: [],\r\n }, function() {\r\n this.fetchRequirementsData();\r\n this.replaceQueryString();\r\n });\r\n }\r\n\r\n onTextSearchChange = (event) => {\r\n /* signal to React not to nullify the event object */\r\n event.persist();\r\n\r\n if (!this.debouncedFn) {\r\n this.debouncedFn = debounce(() => {\r\n let searchString = event.target.value;\r\n this.setState({\r\n requirements_only: false,\r\n selected_page: 1,\r\n text_search: searchString\r\n }, function() {\r\n this.fetchRequirementsData();\r\n });\r\n }, 500);\r\n } this.debouncedFn();\r\n }\r\n\r\n fetchFilterData() {\r\n\r\n\r\n requirementsService.getSearchFilters(SiteConfig.docType,SiteConfig.siteTag)\r\n .then(\r\n (data) => {\r\n\r\n this.setState({\r\n areFiltersLoaded: true,\r\n cm_topics: data.topics.items,\r\n cm_topics_select_values: data.topics.items.filter(item => -1 < this.state.selected_topics.map(Number).indexOf(item.id)),\r\n cm_stakeholders: data.stakeholders.items,\r\n cm_stakeholders_select_values: data.stakeholders.items.filter(item => -1 < this.state.selected_stakeholders.map(Number).indexOf(item.id)),\r\n cm_rmes: data.rmes.items,\r\n cm_rmes_select_values: data.rmes.items.filter(item => -1 < this.state.selected_rmes.map(Number).indexOf(item.id)),\r\n cm_qmps: data.qmps.items,\r\n cm_qmps_select_values: data.qmps.items.filter(item => -1 < this.state.selected_qmps.map(Number).indexOf(item.id)),\r\n cm_standards: data.standards.items,\r\n cm_standards_select_values: data.standards.items.filter(item => -1 < this.state.selected_standards.map(Number).indexOf(item.id)),\r\n\r\n },function() {\r\n\r\n })\r\n //this.determineDisabledOptions();\r\n },\r\n error => {\r\n if (error.message === '401') {\r\n authenticationService.logout();\r\n } else if (error.message === '500') {\r\n this.showErrorModal();\r\n }\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //read in state from query string\r\n const query = queryString.parse(window.location.search);\r\n\r\n let qsState = {};\r\n\r\n if (query.text) {\r\n qsState.text_search = query.text;\r\n }\r\n if (query.standards) {\r\n qsState.selected_standards = query.standards.split(',');\r\n }\r\n if (query.topics) {\r\n qsState.selected_topics = query.topics.split(',');\r\n }\r\n if (query.stakeholders) {\r\n qsState.selected_stakeholders = query.stakeholders.split(',');\r\n }\r\n if (query.rmes) {\r\n qsState.selected_rmes = query.rmes.split(',');\r\n }\r\n if (query.qmps) {\r\n qsState.selected_qmps = query.qmps.split(',');\r\n }\r\n if (query.stakeholders) {\r\n qsState.selected_stakeholders = query.stakeholders.split(',');\r\n }\r\n if (query.strengths) {\r\n qsState.selected_strengths = query.strengths.split(',');\r\n }\r\n if (query.page) {\r\n qsState.selected_page = query.page;\r\n }\r\n if (query.sort_column) {\r\n qsState.sort_column = query.sort_column;\r\n }\r\n if (query.page_size) {\r\n qsState.page_size = query.page_size;\r\n }\r\n\r\n if (query.sort_type) {\r\n qsState.sort_type = query.sort_type;\r\n }\r\n\r\n this.setState(qsState, function() {\r\n this.fetchRequirementsData();\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n replaceQueryString() {\r\n\r\n let stateString = '';\r\n\r\n if (this.state.text_search !=='')\r\n stateString = stateString + \"text=\" + this.state.text_search + '&';\r\n\r\n if (0 < this.state.selected_standards.length)\r\n stateString = stateString + \"standards=\" + this.state.selected_standards.join(',') + '&';\r\n\r\n if (0 < this.state.selected_topics.length)\r\n stateString = stateString + \"topics=\" + this.state.selected_topics.join(',') + '&';\r\n\r\n if (0 < this.state.selected_rmes.length)\r\n stateString = stateString + \"rmes=\" + this.state.selected_rmes.join(',') + '&';\r\n\r\n if (0 < this.state.selected_qmps.length)\r\n stateString = stateString + \"qmps=\" + this.state.selected_qmps.join(',') + '&';\r\n\r\n if (0 < this.state.selected_stakeholders.length)\r\n stateString = stateString + \"stakeholders=\" + this.state.selected_stakeholders.join(',') + '&';\r\n\r\n if (0 !== this.state.selected_strengths.length)\r\n stateString = stateString + \"strengths=\" + this.state.selected_strengths.join(',') + '&';\r\n\r\n if (1 !== this.state.selected_page)\r\n stateString = stateString + \"page=\" + this.state.selected_page + '&';\r\n\r\n if ('standard_number' !== this.state.sort_column)\r\n stateString = stateString + \"sort_column=\" + this.state.sort_column + '&';\r\n\r\n if (\"asc\" !== this.state.sort_type)\r\n stateString = stateString + \"sort_type=\" + this.state.sort_type + '&';\r\n\r\n if (process.env.REACT_APP_REQUIREMENTS_RESULTS_PER_PAGE !== this.state.page_size)\r\n stateString = stateString + \"page_size=\" + this.state.page_size + '&'\r\n\r\n if (0 < stateString.length) {\r\n stateString = '?' + stateString.substring(0, stateString.length - 1);\r\n } else {\r\n stateString = window.location.href.split('?')[0];\r\n }\r\n window.history.replaceState({}, '', stateString);\r\n\r\n\r\n this.setState({\r\n window_location : -1 < window.location.href.indexOf('?') ? window.location.href : window.location.href+window.location.search\r\n });\r\n\r\n }\r\n\r\n\r\n handleDegreesOfCompliance(strength, checked) {\r\n\r\n var currentlySelectedStrengths = [...this.state.selected_strengths];\r\n if (checked) {\r\n currentlySelectedStrengths.push(strength);\r\n } else {\r\n const index = currentlySelectedStrengths.indexOf(strength);\r\n if (index > -1) {\r\n currentlySelectedStrengths.splice(index, 1);\r\n }\r\n }\r\n\r\n this.setState({\r\n requirements_only: false,\r\n selected_page: 1,\r\n selected_strengths: currentlySelectedStrengths\r\n }, function() {\r\n this.fetchRequirementsData();\r\n });\r\n\r\n }\r\n\r\n handleSortColumn(sortColumn, sortType) {\r\n this.setState({\r\n requirements_only: true,\r\n selected_page: 1,\r\n sort_column: sortColumn,\r\n sort_type: sortType\r\n }, function() {\r\n this.fetchRequirementsData();\r\n });\r\n }\r\n\r\n determineDisabledOptions = () => {\r\n //once we have all the data we can disble options\r\n let returnTopics = this.state.cm_topics.map(x => (-1 < this.state.allTopics.indexOf(x.id) ? x : { ...x, disabled: 'yes' }));\r\n let returnStakeholders = this.state.cm_stakeholders.map(x => (-1 < this.state.allStakeholders.indexOf(x.id) ? x : { ...x, disabled: 'yes' }));\r\n let returnRmes = this.state.cm_rmes.map(x => (-1 < this.state.allRMElements.indexOf(x.id) ? x : { ...x, disabled: 'yes' }));\r\n let returnQmps = this.state.cm_qmps.map(x => (-1 < this.state.allQMPPrinciples.indexOf(x.id) ? x : { ...x, disabled: 'yes' }));\r\n let returnStandards = this.state.cm_standards.map(x => (-1 < this.state.allStandards.indexOf(x.id) ? x : { ...x, disabled: 'yes' }));\r\n\r\n this.setState({\r\n cm_topics : returnTopics,\r\n cm_stakeholders : returnStakeholders,\r\n cm_rmes : returnRmes,\r\n cm_qmps : returnQmps,\r\n cm_standards : returnStandards\r\n });\r\n }\r\n\r\n lowerPaginationEventHandler = (page) => {\r\n this.paginationEventHandler(page,true);\r\n window.scrollTo({top: this.upperPaginationRef.current.getBoundingClientRect().bottom, behavior: \"smooth\"})\r\n }\r\n\r\n paginationEventHandler = (page,scrollToTop) => {\r\n this.setState({\r\n requirements_only: true,\r\n selected_page: parseInt(page,10)\r\n }, function() {\r\n this.fetchRequirementsData(scrollToTop);\r\n });\r\n }\r\n\r\n lowerPageSizeEventHandler = (page) => {\r\n this.pageSizeEventHandler(page,true);\r\n window.scrollTo({top: this.upperPaginationRef.current.getBoundingClientRect().bottom, behavior: \"smooth\"})\r\n\r\n }\r\n\r\n pageSizeEventHandler = (page,scrollToTop) => {\r\n this.setState({\r\n requirements_only: true,\r\n selected_page: 1,\r\n page_size: page\r\n }, function() {\r\n this.fetchRequirementsData();\r\n });\r\n }\r\n\r\n handleSaveAllClick = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n var reqIds = this.state.requirements.map(item => {\r\n //row_updating[item.id] = true;\r\n return item.id;\r\n });\r\n\r\n this.setState({\r\n showListSaveToFormModal: true,\r\n selectedListReqIds: reqIds\r\n });\r\n }\r\n\r\n saveHoverStatus = (value, index) => {\r\n const clone = [...this.state.save_row_hover];\r\n clone[index] = value;\r\n this.setState({\r\n save_row_hover: clone\r\n });\r\n }\r\n\r\n handleSaveClick = (e, id, is_saved_to_list) => {\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //update the is_saved_to_list\r\n\r\n let row_updating = [...this.state.row_updating];\r\n row_updating[id] = true;\r\n this.setState({\r\n row_updating: row_updating\r\n });\r\n\r\n if (!is_saved_to_list) {\r\n\r\n requirementsService.putToList([id], SiteConfig.docType)\r\n .then(\r\n (data) => {\r\n this.updateRowStatus(id, is_saved_to_list, row_updating);\r\n myListCounterService.setMyListCount(data.count);\r\n },\r\n error => {}\r\n );\r\n } else {\r\n\r\n requirementsService.deleteFromList([id], SiteConfig.docType)\r\n .then(\r\n (data) => {\r\n this.updateRowStatus(id, is_saved_to_list, row_updating);\r\n myListCounterService.setMyListCount(data.count);\r\n },\r\n error => {}\r\n );\r\n }\r\n\r\n }\r\n\r\n updateRowStatus = (id, is_saved_to_list, row_updating) => {\r\n let requirements = [...this.state.requirements];\r\n var foundIndex = requirements.findIndex(x => x.id === id);\r\n requirements[foundIndex].is_saved_to_list = !is_saved_to_list;\r\n\r\n row_updating[id] = false;\r\n\r\n this.setState({\r\n row_updating: row_updating,\r\n requirements: requirements\r\n });\r\n }\r\n\r\n handleSelectChange = (selectedOption,ev) => {\r\n var stateItem = {\r\n requirements_only: false,\r\n selected_page: 1,\r\n };\r\n\r\n var newIds = []\r\n\r\n if (selectedOption) {\r\n newIds = selectedOption.map(option => {\r\n return option.id;\r\n });\r\n }\r\n\r\n\r\n switch (ev.name) {\r\n case 'cm_topics':\r\n stateItem.selected_topics = newIds;\r\n stateItem.cm_topics_select_values = selectedOption;\r\n break;\r\n case 'cm_stakeholders':\r\n stateItem.selected_stakeholders = newIds;\r\n stateItem.cm_stakeholders_select_values = selectedOption;\r\n break;\r\n case 'cm_rmes':\r\n stateItem.selected_rmes = newIds;\r\n stateItem.cm_rmes_select_values = selectedOption;\r\n break;\r\n case 'cm_qmps':\r\n stateItem.selected_qmps = newIds;\r\n stateItem.cm_qmps_select_values = selectedOption;\r\n break;\r\n case 'cm_standards':\r\n stateItem.selected_standards = newIds;\r\n stateItem.cm_standards_select_values = selectedOption;\r\n break;\r\n default:\r\n };\r\n\r\n this.setState(\r\n stateItem,\r\n function() {\r\n this.fetchRequirementsData();\r\n }\r\n );\r\n\r\n }\r\n render() {\r\n const { error, numResults, text_search, selected_strengths , show_toast, window_location, initiallyLoaded, loadingData, sort_column, sort_type, page_size, requirements, cm_topics, cm_topics_select_values ,cm_stakeholders, cm_stakeholders_select_values ,cm_qmps, cm_qmps_select_values, cm_rmes, cm_rmes_select_values, cm_standards, cm_standards_select_values, cm_standards_input_value, cm_topics_input_value, cm_stakeholders_input_value, cm_qmps_input_value, cm_rmes_input_value, canViewLinkedRequirements } = this.state;\r\n\r\n const standardFilterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n matchFrom: 'any',\r\n stringify: option => `${option.data.number} ${option.data.title}`,\r\n trim: true\r\n };\r\n\r\n const renderStandardOption = (option: Readonly