{"version":3,"file":"SDSRoot.bundle.js","sources":["../../../Static/src/react/components/sds/Select.jsx","../../../Static/src/react/components/sds/SDSForm.jsx","../../../Static/src/react/components/sds/AvailableSDS.jsx","../../../Static/src/react/components/sds/ChemwatchLinks.jsx","../../../Static/src/react/components/sds/Loader.jsx","../../../Static/src/react/components/sds/SDSRoot.jsx"],"sourcesContent":["import React, {Fragment} from 'react';\r\n\r\nfunction Select(props) {\r\n const {\r\n labelText,\r\n name,\r\n options,\r\n selectedOption,\r\n onChange,\r\n error,\r\n errorText\r\n } = props;\r\n\r\n const optionsList = options.map(option => {\r\n return (\r\n \r\n {option.Name}\r\n \r\n )\r\n });\r\n\r\n return (\r\n \r\n \r\n onChange(event.target.value)}\r\n disabled={error}\r\n >\r\n {optionsList}\r\n \r\n {error &&

{errorText}

}\r\n
\r\n )\r\n}\r\n\r\nexport default Select;","import React from 'react';\r\nimport Select from './Select';\r\n\r\nfunction SDSForm(props) {\r\n const {\r\n isLoading,\r\n countriesList,\r\n languagesList,\r\n selectedCountryId,\r\n selectedLanguageId,\r\n handleCountryChange,\r\n handleLanguageChange,\r\n handleFindSds,\r\n errorCountries,\r\n errorLanguages\r\n } = props;\r\n\r\n const isSubmitButtonDisabled = isLoading || countriesList.length <= 0 || languagesList.length <= 0 || errorCountries || errorLanguages;\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 Find available SDS\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SDSForm;","import React, {Fragment, Component} from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport default class AvailableSDS extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n tableIsCutOff: false\r\n };\r\n\r\n this.tableRef1 = React.createRef();\r\n this.tableRef2 = React.createRef();\r\n\r\n this.checkIfTablesAreCutOff = this.checkIfTablesAreCutOff.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', this.checkIfTablesAreCutOff, false);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.checkIfTablesAreCutOff, false);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.shouldResultsRender !== prevProps.shouldResultsRender) {\r\n this.checkIfTablesAreCutOff();\r\n }\r\n }\r\n\r\n checkIfTablesAreCutOff() {\r\n const checkTable = (tableRef) => {\r\n if (tableRef) {\r\n const\r\n tableWidth = tableRef.scrollWidth,\r\n leftSpace = tableRef.getBoundingClientRect().left,\r\n minimalSpaceAround = leftSpace * 2,\r\n availableSpaceWidth = document.body.clientWidth - minimalSpaceAround,\r\n isTableCutOff = Math.floor(tableWidth) > Math.floor(availableSpaceWidth);\r\n\r\n this.setState({tableIsCutOff: isTableCutOff});\r\n }\r\n };\r\n\r\n if (this.props.shouldResultsRender) {\r\n checkTable(this.tableRef1.current);\r\n checkTable(this.tableRef2.current);\r\n }\r\n }\r\n\r\n renderTable(documents, firstColumnName, ref) {\r\n const tableClasses = classNames('main-product__table', {'fat': this.state.tableIsCutOff});\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 {this.renderRows(documents)}\r\n {this.renderDowloadAll(documents)}\r\n \r\n
{firstColumnName}File nameFile
\r\n
\r\n )\r\n\r\n }\r\n\r\n renderDowloadAll(documents){\r\n const {fetchAllPDF} = this.props;\r\n\r\n if(documents && documents.length > 1){\r\n return (\r\n \r\n Download all\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n renderRows(documents) {\r\n const {\r\n fetchPDF\r\n } = this.props;\r\n\r\n return documents.map(document => {\r\n return (\r\n \r\n {document.Name}\r\n {document.FileName}\r\n \r\n \r\n \r\n \r\n )\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n shouldResultsRender,\r\n errorDocuments,\r\n errorDownloadingPDF,\r\n documentsList\r\n } = this.props;\r\n\r\n const\r\n mainDocument = documentsList.MainDocument,\r\n relatedDocuments = documentsList.RelatedDocuments;\r\n\r\n if (shouldResultsRender) {\r\n if (errorDocuments) {\r\n return (\r\n

Could not find available documents

\r\n );\r\n }\r\n return (\r\n \r\n
\r\n

Available SDS

\r\n
\r\n\r\n {mainDocument &&\r\n this.renderTable(documentsList.MainDocument, 'Product', this.tableRef1)\r\n }\r\n {relatedDocuments && relatedDocuments.length > 0 &&\r\n this.renderTable(relatedDocuments, 'Related Products', this.tableRef2)\r\n }\r\n\r\n {errorDownloadingPDF &&\r\n \r\n

\r\n Could not download the document\r\n

\r\n
\r\n }\r\n
\r\n )\r\n } else {\r\n return null;\r\n }\r\n }\r\n}","import React from 'react';\r\n\r\nfunction ChemwatchLinks() {\r\n return (\r\n
\r\n \r\n Direct access to all Safety Data Sheets\r\n (new window)\r\n \r\n
\r\n \r\n Guidance for accessing safety data sheets\r\n (SDSs) and Mini only\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChemwatchLinks;","import React from 'react';\r\n\r\nfunction Loader({small}) {\r\n const sizeClass = small ? 'loader__icon--small' : '';\r\n\r\n return (\r\n
\r\n

Loading in progress.

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Loader;","import React, {Component, Fragment} from 'react';\r\nimport axios from 'axios';\r\nimport SDSForm from './SDSForm';\r\nimport AvailableSDS from './AvailableSDS';\r\nimport ChemwatchLinks from './ChemwatchLinks'\r\nimport Loader from './Loader';\r\nimport { getRecaptchaToken } from '../../utils';\r\n\r\nconst apiUrl = '/api/sds/';\r\n\r\n// Defaults\r\nconst defaults = {\r\n countryId: '284', // Norway\r\n languageId: '340700' // English\r\n};\r\n\r\n\r\nexport default class SDSRoot extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.productId = this.props.productId;\r\n\r\n this.state = {\r\n isLoading: false,\r\n countryId: defaults.countryId,\r\n languageId: defaults.languageId,\r\n countriesList: [],\r\n languagesList: [],\r\n documentsList: [],\r\n shouldResultsRender: false,\r\n errorCountries: false,\r\n errorLanguages: false,\r\n errorDocuments: false,\r\n errorDownloadingPDF: false\r\n };\r\n\r\n this.handleCountryChange = this.handleCountryChange.bind(this);\r\n this.handleLanguageChange = this.handleLanguageChange.bind(this);\r\n this.handleFindSds = this.handleFindSds.bind(this);\r\n this.fetchPDF = this.fetchPDF.bind(this);\r\n this.fetchAllPDF = this.fetchAllPDF.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCountries();\r\n this.fetchLanguages();\r\n }\r\n\r\n fetchCountries() {\r\n this.setState({isLoading: true});\r\n\r\n const productId = this.productId;\r\n const url = `${apiUrl}GetCountries`;\r\n const params = {\r\n productId: productId\r\n };\r\n\r\n axios.get(url, {params: params})\r\n .then(result => {\r\n this.setState({\r\n countriesList: result.data,\r\n errorCountries: false,\r\n isLoading: false\r\n });\r\n })\r\n .catch((error) => {\r\n this.handleFetchError(error);\r\n this.setState({\r\n errorCountries: true,\r\n countriesList: [],\r\n isLoading: false\r\n });\r\n });\r\n }\r\n\r\n fetchLanguages() {\r\n this.setState({isLoading: true});\r\n\r\n const {countryId} = this.state;\r\n const productId = this.productId;\r\n const url = `${apiUrl}GetLanguages`;\r\n const params = {\r\n productId: productId,\r\n countryId: countryId\r\n };\r\n\r\n axios.get(url, {params: params})\r\n .then(result => {\r\n this.setState({\r\n languagesList: result.data,\r\n errorLanguages: false,\r\n isLoading: false\r\n });\r\n })\r\n .catch((error) => {\r\n this.handleFetchError(error);\r\n this.setState({\r\n errorLanguages: true,\r\n languagesList: [],\r\n isLoading: false\r\n });\r\n });\r\n }\r\n\r\n fetchDocuments() {\r\n this.setState({isLoading: true});\r\n\r\n const {countryId, languageId, languagesList} = this.state;\r\n const productId = this.productId;\r\n const url = `${apiUrl}GetDocuments`;\r\n const currentLanguageCode = languagesList.find(el => `${el.Id}` === `${languageId}`);\r\n \r\n getRecaptchaToken().then(token => {\r\n const params = {\r\n productId: productId,\r\n countryId: countryId,\r\n languageId: languageId,\r\n languageCode: currentLanguageCode.Code,\r\n token: token\r\n };\r\n\r\n axios.get(url, {params: params})\r\n .then(result => {\r\n const documents = result.data,\r\n areDocumentsAvailable = documents.MainDocument !== null || documents.RelatedDocuments.length > 0;\r\n \r\n this.setState({\r\n errorDocuments: !areDocumentsAvailable,\r\n documentsList: documents,\r\n isLoading: false\r\n }, () => this.setState({shouldResultsRender: true})\r\n );\r\n })\r\n .catch((error) => {\r\n this.handleFetchError(error);\r\n this.setState({\r\n errorDocuments: true,\r\n documentsList: [],\r\n isLoading: false\r\n })\r\n });\r\n });\r\n }\r\n \r\n fetchAllPDF(event,documents){\r\n event.preventDefault();\r\n this.setState({isLoading: true});\r\n const getPdf = documents.map(doc=>{\r\n return axios.get(doc.Link, {method: 'GET', responseType: 'blob'})\r\n .then(result => {\r\n const\r\n blob = new Blob([result.data], {type: 'application/pdf'}),\r\n fileNamePDFExtension = `${doc.FileName}.pdf`;\r\n \r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n window.navigator.msSaveBlob(blob, fileNamePDFExtension);\r\n return;\r\n }\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileNamePDFExtension);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n })\r\n .catch((error) => {\r\n this.setState({\r\n errorDownloadingPDF: true,\r\n isLoading: false,\r\n });\r\n console.log(error);\r\n });\r\n }\r\n );\r\n Promise.all(getPdf).then(()=>{\r\n this.setState({\r\n isLoading: false,\r\n errorDownloadingPDF: false\r\n }\r\n );\r\n })\r\n }\r\n\r\n fetchPDF(event, url, fileName) {\r\n event.preventDefault();\r\n this.setState({isLoading: true});\r\n\r\n axios.get(url, {method: 'GET', responseType: 'blob'})\r\n .then(result => {\r\n this.setState({\r\n isLoading: false,\r\n errorDownloadingPDF: false\r\n });\r\n\r\n const\r\n blob = new Blob([result.data], {type: 'application/pdf'}),\r\n fileNamePDFExtension = `${fileName}.pdf`;\r\n\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n window.navigator.msSaveBlob(blob, fileNamePDFExtension);\r\n return;\r\n }\r\n\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileNamePDFExtension);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n errorDownloadingPDF: true,\r\n isLoading: false,\r\n });\r\n console.log(error);\r\n });\r\n }\r\n\r\n handleFetchError(error) {\r\n if (error.response) {\r\n console.log(error.response.data);\r\n console.log(error.response.status);\r\n console.log(error.response.headers);\r\n } else if (error.request) {\r\n console.log(error.request);\r\n } else {\r\n console.log('Error', error.message);\r\n }\r\n console.log(error.config);\r\n }\r\n\r\n handleCountryChange(countryId) {\r\n this.setState({\r\n countryId: countryId.toString(),\r\n shouldResultsRender: false,\r\n languageId: defaults.languageId,\r\n errorDownloadingPDF: false\r\n }, this.fetchLanguages);\r\n }\r\n\r\n handleLanguageChange(languageId) {\r\n this.setState({\r\n languageId: languageId.toString(),\r\n shouldResultsRender: false,\r\n errorDownloadingPDF: false\r\n });\r\n }\r\n\r\n handleFindSds(e) {\r\n e.preventDefault();\r\n this.fetchDocuments();\r\n }\r\n\r\n render() {\r\n const {\r\n countryId,\r\n languageId,\r\n languagesList,\r\n countriesList,\r\n documentsList,\r\n shouldResultsRender,\r\n errorCountries,\r\n errorLanguages,\r\n errorDocuments,\r\n errorDownloadingPDF,\r\n isLoading\r\n } = this.state;\r\n\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}"],"names":["Select","props","labelText","name","options","selectedOption","onChange","error","errorText","optionsList","option","jsx","Fragment","event","SDSForm","isLoading","countriesList","languagesList","selectedCountryId","selectedLanguageId","handleCountryChange","handleLanguageChange","handleFindSds","errorCountries","errorLanguages","isSubmitButtonDisabled","AvailableSDS","Component","React","prevProps","checkTable","tableRef","tableWidth","leftSpace","minimalSpaceAround","availableSpaceWidth","isTableCutOff","documents","firstColumnName","ref","tableClasses","classNames","fetchAllPDF","e","fetchPDF","document","shouldResultsRender","errorDocuments","errorDownloadingPDF","documentsList","mainDocument","relatedDocuments","ChemwatchLinks","jsxs","Loader","small","sizeClass","apiUrl","defaults","SDSRoot","productId","url","params","axios","result","countryId","languageId","currentLanguageCode","el","getRecaptchaToken","token","areDocumentsAvailable","getPdf","doc","blob","fileNamePDFExtension","link","fileName"],"mappings":"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"}