UNPKG

7.51 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/modal/ErrorModal.js"],"names":["StackTrace","pre","ErrorDiv","div","HttpError","errorMsg","targetUrl","stackTrace","StrackTraceError","state","showDetail","toggleShowDetail","setState","props","Component","MsgOnly","JsError","err","message","stack","ErrorPanel","modalInfo","errorRenderer","appErrorRendererMap","isHttpError","httpError","hasStackTrace","hasValidationError","validationError","length","hasMsg","isString","appExceptionId","ErrorModal","setModalInfo","rest","restfulStatus"],"mappings":"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","file":"ErrorModal.js","sourcesContent":["import React from 'react'\nimport GenericModal from './GenericModal'\nimport R from 'ramda'\nimport styled from 'styled-components'\nimport { Accordion, Icon } from 'semantic-ui-react'\nimport ValidationError from './ValidationError'\n\nconst StackTrace = styled.pre`\n height: 45vh;\n overflow: auto;\n word-wrap: normal;\n white-space: pre;\n border: 1px solid #ccc;\n border-radius: 5px;\n padding: 0.5em 0.5em;\n max-width: 80vw;\n max-height: 80vh;\n`\n\nconst ErrorDiv = styled.div`\n color: #c60000;\n font-weight: bold;\n font-size: 1.15em;\n`\n\nconst HttpError = ({ errorMsg, targetUrl, stackTrace }) =>\n stackTrace ? (\n <StrackTraceError {...{ errorMsg: `${errorMsg} reaching ${targetUrl}`, stackTrace }} />\n ) : (\n <ErrorDiv data-testid=\"error-panel\">\n {errorMsg} reaching <a href={targetUrl}>{targetUrl}</a>\n </ErrorDiv>\n )\n//\n//\n//\nclass StrackTraceError extends React.Component {\n state = { showDetail: false }\n\n toggleShowDetail = _ => this.setState(({ showDetail }) => ({ showDetail: !showDetail }))\n\n render() {\n const { errorMsg, stackTrace } = this.props\n\n return (\n <div data-testid=\"error-panel\">\n <ErrorDiv>{errorMsg}</ErrorDiv>\n <Accordion>\n <Accordion.Title onClick={this.toggleShowDetail}>\n <Icon name=\"dropdown\" />Click for Detail\n </Accordion.Title>\n <Accordion.Content active={this.state.showDetail}>\n <StackTrace>{stackTrace}</StackTrace>\n </Accordion.Content>\n </Accordion>\n </div>\n )\n }\n}\n//\n//\nconst MsgOnly = ({ errorMsg }) => <div data-testid=\"error-panel\">{errorMsg}</div>\n//\nclass JsError extends React.Component {\n state = { showDetail: false }\n\n toggleShowDetail = _ => this.setState(({ showDetail }) => ({ showDetail: !showDetail }))\n render() {\n const { err } = this.props\n return (\n <div data-testid=\"error-panel\">\n <ErrorDiv>{err.message && err.message}</ErrorDiv>\n {err.stack && (\n <Accordion>\n <Accordion.Title onClick={this.toggleShowDetail}>\n <Icon name=\"dropdown\" />Click for Detail\n </Accordion.Title>\n <Accordion.Content active={this.state.showDetail}>\n <StackTrace>{err.stack}</StackTrace>\n </Accordion.Content>\n </Accordion>\n )}\n </div>\n )\n }\n}\n//\nexport const ErrorPanel = props => {\n const { modalInfo, errorRenderer, appErrorRendererMap = {} } = props\n const isHttpError = modalInfo.httpError\n const hasStackTrace = modalInfo.stackTrace\n const hasValidationError = modalInfo.validationError && modalInfo.validationError.length > 0\n const hasMsg = modalInfo.errorMsg\n // const jsError = !modalInfo.restfulStatus\n const isString = typeof modalInfo === 'string'\n if (appErrorRendererMap[modalInfo.appExceptionId + '']) {\n return appErrorRendererMap[modalInfo.appExceptionId + ''](props)\n }\n\n return isString ? (\n <ErrorDiv>{modalInfo}</ErrorDiv>\n ) : isHttpError ? (\n <HttpError {...modalInfo} />\n ) : hasStackTrace ? (\n <StrackTraceError {...modalInfo} />\n ) : hasValidationError ? (\n <ValidationError {...{ errorRenderer, ...modalInfo }} />\n ) : hasMsg ? (\n <MsgOnly {...modalInfo} />\n ) : (\n <JsError err={modalInfo} />\n )\n}\n\nconst ErrorModal = ({ modalInfo, setModalInfo, ...rest }) => (\n <GenericModal\n testId=\"error\"\n onClose={_ => setModalInfo(null)}\n open={!R.isNil(modalInfo)}\n modalInfo={modalInfo}\n size=\"small\"\n {...rest}\n title={modalInfo && modalInfo.restfulStatus === 'WARNING' ? 'Warning' : 'Error'}\n >\n {props => (\n <ErrorPanel {...props} errorRenderer={rest.errorRenderer} setModalInfo={setModalInfo} />\n )}\n </GenericModal>\n)\n//\n\nexport default ErrorModal\n"]}
\No newline at end of file