{"version":3,"file":"static/js/458.e001e80e.chunk.js","mappings":"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","sources":["containers/news/BannerContainer.tsx","containers/layout/FooterContainer.tsx","containers/login/UserTokenDialogs.tsx","containers/restrictedPrivileges/RestrictedPrivilegeContainer.tsx","containers/layout/Layout.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport \"./BannerContainer.scss\";\r\nimport { MaintenanceBanner } from \"@lexdania/components\";\r\nimport { apiGET } from \"../../api\";\r\n\r\ninterface IMaintenanceNews {\r\n  id: number;\r\n  title: string;\r\n  content: string;\r\n}\r\n\r\ninterface IBannerState {\r\n  maintenanceNews: IMaintenanceNews[];\r\n  showBanner: boolean;\r\n}\r\n\r\nenum booleanEnum {\r\n  true = \"true\",\r\n  false = \"false\",\r\n}\r\n\r\nexport class BannerContainer extends React.Component<{}, IBannerState> {\r\n  private showBannerKey = \"show-banner\";\r\n  constructor(props: {}) {\r\n    super(props);\r\n\r\n    this.state = { maintenanceNews: [], showBanner: false };\r\n  }\r\n  public async componentDidMount() {\r\n    const response = await apiGET<IMaintenanceNews[]>(\"api/news/maintenancenews\");\r\n    const sessionStorageShowBanner = sessionStorage.getItem(this.showBannerKey);\r\n\r\n    if (sessionStorageShowBanner !== null && sessionStorageShowBanner === booleanEnum.false) {\r\n      this.setState({\r\n        maintenanceNews: response,\r\n        showBanner: false,\r\n      });\r\n    } else {\r\n      if (response.length > 0) {\r\n        sessionStorage.setItem(this.showBannerKey, booleanEnum.true);\r\n        this.setState({\r\n          maintenanceNews: response,\r\n          showBanner: true,\r\n        });\r\n      } else {\r\n        this.setState({\r\n          maintenanceNews: response,\r\n          showBanner: false,\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  public render() {\r\n    const { maintenanceNews, showBanner } = this.state;\r\n\r\n    return showBanner ? (\r\n      <MaintenanceBanner onOkClicked={this.onOkClicked}>\r\n        <ul>\r\n          {maintenanceNews.map((news, index) => (\r\n            <li key={index}>\r\n              <div>\r\n                <h1>{news.title}</h1>\r\n                <p>{news.content} </p>\r\n              </div>\r\n            </li>\r\n          ))}\r\n        </ul>\r\n      </MaintenanceBanner>\r\n    ) : null;\r\n  }\r\n\r\n  private onOkClicked = () => {\r\n    this.setState({ showBanner: false });\r\n    sessionStorage.setItem(this.showBannerKey, booleanEnum.false);\r\n  };\r\n}\r\n","import * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { ITextActions, ITextState, TextActions } from \"../../reducers/texts/textsReducer\";\r\nimport { Footer, IFooterLink } from \"@lexdania/components\";\r\nimport { IConfigState } from \"../../reducers/config/configReducer\";\r\n\r\ninterface IProps extends ITextActions {\r\n  texts: ITextState;\r\n  config: IConfigState;\r\n}\r\n\r\nclass FooterContainer extends React.Component<IProps, {}> {\r\n  public componentDidMount(): void {\r\n    this.props.getAllTexts();\r\n  }\r\n\r\n  public render() {\r\n    const { texts } = this.props;\r\n\r\n    let externalLinks: IFooterLink[] = [];\r\n    if (texts && texts.externalSiteLinks) {\r\n      externalLinks = texts.externalSiteLinks.map(entry => {\r\n        return { text: entry.key, url: entry.value };\r\n      });\r\n    }\r\n\r\n    return (\r\n      <Footer\r\n        aboutHeader=\"Om\"\r\n        externalLinks={externalLinks}\r\n        bottomLinks={[\r\n          { url: \"/about\", text: \"Om Statstidende.dk\" },\r\n          {\r\n            url: \"/personaldataprocessing\",\r\n            text: \"Behandling af personoplysninger\",\r\n          },\r\n          { url: \"/faq\", text: \"FAQ\" },\r\n          { url: \"/contact\", text: \"Kontakt\" },\r\n          { url: \"/signing/list\", text: \"Signatur\" },\r\n          { url: this.props.config.wasUrl ?? \"\", text: \"Tilgængelighedserklæring\", isExternal: true },\r\n        ]}\r\n      >\r\n        I Statstidende optages alle meddelelser, som i henhold til lovgivningen skal kundgøres i Statstidende. Statstidende udgives af Civilstyrelsen under\r\n        Justitsministeriet. På statstidende.dk kan du søge og læse meddelelser, abonnere på søgninger og dagens udgave, samt anmode om optagelse af meddelelser.\r\n        <br />\r\n        På statstidende.dk anvendes der kun tekniske cookies til at kunne logge ind via NemLog-in og derefter opretholde brugerens session.\r\n        <br />\r\n        <br />\r\n      </Footer>\r\n    );\r\n  }\r\n}\r\n\r\nfunction mapStateToProps(state: any, ownProps: any) {\r\n  return {\r\n    ...ownProps,\r\n    texts: state.texts,\r\n    config: state.config,\r\n  };\r\n}\r\n\r\nexport default connect(mapStateToProps, dispatch => bindActionCreators({ ...TextActions }, dispatch))(FooterContainer);\r\n","import * as React from \"react\";\r\nimport { IUserActions, IUserState, UserActions } from \"../../reducers/user\";\r\nimport { RouteComponentProps, withRouter, Redirect } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport Modal from \"reactstrap/lib/Modal\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\nimport ModalBody from \"reactstrap/lib/ModalBody\";\r\nimport ModalFooter from \"reactstrap/lib/ModalFooter\";\r\nimport { Button } from \"reactstrap\";\r\n\r\ninterface IRefreshTokenDialogProps extends IUserActions, RouteComponentProps<{}> {\r\n  user: IUserState;\r\n}\r\n\r\nclass UserTokenDialogs extends React.Component<IRefreshTokenDialogProps, {}> {\r\n  constructor(props: IRefreshTokenDialogProps) {\r\n    super(props);\r\n  }\r\n\r\n  private renderWindowMessage() {\r\n    return (\r\n      <>\r\n        <p>Hvis andre har adgang til denne computer, anbefaler vi, at du sletter browserens midlertidige filer og derefter lukker browseren.</p>\r\n        <p>Vær opmærksom på at lukke alle åbne vinduer.</p>\r\n      </>\r\n    );\r\n  }\r\n\r\n  public render() {\r\n    const { user } = this.props;\r\n\r\n    if (\r\n      user &&\r\n      user.refreshTokenInformation &&\r\n      (user.refreshTokenInformation.hasBeenAutomaticallyLoggedOut || user.refreshTokenInformation.hasBeenLoggedOutFromElsewhere) &&\r\n      this.props.location.pathname !== \"/\"\r\n    ) {\r\n      // Redirect to frontpage if automatically logged out\r\n      return <Redirect to=\"/\" />;\r\n    }\r\n\r\n    return user && user.refreshTokenInformation ? (\r\n      <React.Fragment>\r\n        <Modal isOpen={user.refreshTokenInformation.isAboutToExpire}>\r\n          <ModalHeader>Du er ved at blive logget ud</ModalHeader>\r\n          <ModalBody>Grundet inaktivitet vil du automatisk blive logget ud om {user.refreshTokenInformation.secondsToLogout} sekunder.</ModalBody>\r\n          <ModalFooter>\r\n            <Button color=\"primary\" onClick={this.props.requestRefreshToken}>\r\n              Forlæng min session\r\n            </Button>\r\n            <Button color=\"secondary\" onClick={this.props.userLogOut}>\r\n              Log mig ud\r\n            </Button>\r\n          </ModalFooter>\r\n        </Modal>\r\n        <Modal isOpen={user.refreshTokenInformation.hasBeenAutomaticallyLoggedOut}>\r\n          <ModalHeader>Du er blevet logget ud</ModalHeader>\r\n          <ModalBody>\r\n            <p>Grundet inaktivitet er du nu blevet logget ud.</p>\r\n            {this.renderWindowMessage()}\r\n          </ModalBody>\r\n          <ModalFooter>\r\n            <Button color=\"primary\" onClick={this.props.dismissSessionExpiredDialog}>\r\n              OK\r\n            </Button>\r\n          </ModalFooter>\r\n        </Modal>\r\n        <Modal isOpen={user.refreshTokenInformation.hasBeenLoggedOutFromElsewhere}>\r\n          <ModalHeader>Du er blevet logget ud</ModalHeader>\r\n          <ModalBody>\r\n            <p>Du er automatisk blevet logget ud. Dette skyldes muligvis, at du har logget ud i et andet vindue eller et andet faneblad.</p>\r\n            {this.renderWindowMessage()}\r\n          </ModalBody>\r\n          <ModalFooter>\r\n            <Button color=\"secondary\" onClick={this.props.dismissSessionExpiredDialog}>\r\n              OK\r\n            </Button>\r\n          </ModalFooter>\r\n        </Modal>\r\n\r\n        <Modal isOpen={user.refreshTokenInformation.hasBeenDeletedAndLoggedOut}>\r\n          <ModalHeader>Du er blevet logget ud</ModalHeader>\r\n          <ModalBody>\r\n            <p>Du har slettet din bruger og er derfor blevet logget ud.</p>\r\n            {this.renderWindowMessage()}\r\n          </ModalBody>\r\n          <ModalFooter>\r\n            <Button color=\"primary\" onClick={this.props.dismissSessionExpiredDialog}>\r\n              OK\r\n            </Button>\r\n          </ModalFooter>\r\n        </Modal>\r\n        <Modal isOpen={user.refreshTokenInformation.userLoggedOut}>\r\n          <ModalHeader>Du har nu logget ud</ModalHeader>\r\n          <ModalBody>{this.renderWindowMessage()}</ModalBody>\r\n          <ModalFooter>\r\n            <Button color=\"primary\" onClick={this.props.dismissSessionExpiredDialog}>\r\n              OK\r\n            </Button>\r\n          </ModalFooter>\r\n        </Modal>\r\n      </React.Fragment>\r\n    ) : null;\r\n  }\r\n}\r\n\r\nfunction mapStateToProps({ user }: any, ownProps: any) {\r\n  return { ...ownProps, user };\r\n}\r\nexport default withRouter(connect(mapStateToProps, dispatch => bindActionCreators({ ...UserActions }, dispatch))(UserTokenDialogs));\r\n","import * as React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from \"reactstrap\";\r\nimport { GetClaimPrivilegeMissingAsAssuranceLevelToLow } from \"../../services/ClaimService\";\r\nimport { RouteComponentProps } from \"react-router-dom\";\r\nimport { IConfigActions, IConfigState, ConfigActions } from \"../../reducers/config/configReducer\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\n\r\ninterface IRestrictedPrivilegeState {\r\n  showModal: boolean;\r\n}\r\n\r\ninterface IRestrictedPrivilegeContainer extends RouteComponentProps<{}>, IConfigActions {\r\n  config?: IConfigState;\r\n}\r\n\r\nenum booleanEnum {\r\n  true = \"true\",\r\n  false = \"false\",\r\n}\r\n\r\nclass RestrictedPrivilegeContainer extends React.Component<IRestrictedPrivilegeContainer, IRestrictedPrivilegeState> {\r\n  private restrictedPrivilegeModalDismissed = \"RestrictedPrivilege-modal\";\r\n  constructor(props: IRestrictedPrivilegeContainer) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      showModal: false,\r\n    };\r\n  }\r\n\r\n  public componentDidMount() {\r\n    this.props.getConfig();\r\n\r\n    const sessionStorageShowModal = sessionStorage.getItem(this.restrictedPrivilegeModalDismissed);\r\n\r\n    if (\r\n      (sessionStorageShowModal === null || sessionStorageShowModal === booleanEnum.false) &&\r\n      GetClaimPrivilegeMissingAsAssuranceLevelToLow() === booleanEnum.true &&\r\n      window.location.href.indexOf(\"lowloa\") < 0\r\n    ) {\r\n      this.setState({\r\n        showModal: true,\r\n      });\r\n    } else {\r\n      this.setState({\r\n        showModal: false,\r\n      });\r\n    }\r\n  }\r\n\r\n  public componentDidUpdate() {\r\n    if (GetClaimPrivilegeMissingAsAssuranceLevelToLow() === undefined) {\r\n      sessionStorage.setItem(this.restrictedPrivilegeModalDismissed, booleanEnum.false);\r\n    }\r\n  }\r\n\r\n  public onModalConfirm = (e: any): void => {\r\n    this.setState({\r\n      showModal: false,\r\n    });\r\n    sessionStorage.setItem(this.restrictedPrivilegeModalDismissed, booleanEnum.true);\r\n  };\r\n\r\n  public onModalLogin = (e: any): void => {\r\n    if (this.props.config) {\r\n      window.location.href = this.props.config.loginSiteUrl + \"/forcedidplogin.ashx\";\r\n    }\r\n  };\r\n\r\n  public render() {\r\n    const { config } = this.props;\r\n\r\n    if (!config) {\r\n      return null;\r\n    }\r\n    if (!config.loginSiteUrl) {\r\n      return null;\r\n    }\r\n\r\n    return (\r\n      <Modal isOpen={this.state.showModal}>\r\n        <ModalHeader>Logget ind med begrænsede privileger</ModalHeader>\r\n        <ModalBody>\r\n          <p>\r\n            Der vises kun en del af de tilgængelige funktionaliteter da der er logget ind med et lavere sikkerhedsniveau end de påkræver.\r\n            <br />\r\n            <br />\r\n            Log ind på nemlog-in igen med højere sikkerhedsniveau eller fortsæt til Statstidende med begrænsede privileger.\r\n          </p>\r\n        </ModalBody>\r\n        <ModalFooter>\r\n          <Button color=\"primary\" onClick={this.onModalLogin}>\r\n            Log ind igen\r\n          </Button>\r\n          <Button color=\"primary\" onClick={this.onModalConfirm}>\r\n            Fortsæt\r\n          </Button>\r\n        </ModalFooter>\r\n      </Modal>\r\n    );\r\n  }\r\n}\r\nexport default connect(\r\n  ({ config }: any, ownProps: any) => ({ ...ownProps, config }),\r\n  dispatch => bindActionCreators({ ...ConfigActions }, dispatch)\r\n)(RestrictedPrivilegeContainer);\r\n","import * as React from \"react\";\r\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\r\nimport { HeaderContainer, IdleUserDetector } from \"../../components/inner-components\";\r\nimport { GlobalErrorBoundary } from \"../../components/inner-components/error\";\r\nimport { AxiosActionCode, AxiosService } from \"../../services/AxiosService\";\r\nimport { BannerContainer } from \"../../containers/news/BannerContainer\";\r\nimport packageJson from \"../../../package.json\";\r\nimport \"./layout.scss\";\r\nimport FooterContainer from \"../../containers/layout/FooterContainer\";\r\nimport UserTokenDialogs from \"../../containers/login/UserTokenDialogs\";\r\nimport RestrictedPrivilegeContainer from \"../../containers/restrictedPrivileges/RestrictedPrivilegeContainer\";\r\nimport { DevelopmentSizeHelper, ErrorModal } from \"@lexdania/components\";\r\n\r\ninterface ILayoutState {\r\n  axiosGlobalError: boolean;\r\n  responseStatus: number;\r\n  correlationId: string;\r\n  showModalErrorOldConcurrencyToken: boolean;\r\n  showBusinessError: boolean;\r\n  businessErrors?: string[];\r\n}\r\n\r\nclass Layout extends React.Component<RouteComponentProps<{}>, ILayoutState> {\r\n  constructor(props: RouteComponentProps<{}>) {\r\n    super(props);\r\n\r\n    AxiosService.setupAxios(this.updateState);\r\n\r\n    this.state = {\r\n      axiosGlobalError: false,\r\n      responseStatus: -1,\r\n      correlationId: \"\",\r\n      showModalErrorOldConcurrencyToken: false,\r\n      showBusinessError: false,\r\n      businessErrors: undefined,\r\n    };\r\n  }\r\n\r\n  public render() {\r\n    return (\r\n      <div>\r\n        <IdleUserDetector />\r\n        <BannerContainer />\r\n        <RestrictedPrivilegeContainer />\r\n        <UserTokenDialogs />\r\n        <div className=\"main-content-body\">\r\n          <div hidden={true}>{\"lexdania/components version: \" + packageJson.dependencies[\"@lexdania/components\"]}</div>\r\n          {process.env.NODE_ENV && process.env.NODE_ENV === \"development\" && <DevelopmentSizeHelper />}\r\n          <GlobalErrorBoundary>\r\n            <HeaderContainer />\r\n            <div className=\"container content-area mt-4\">{this.props.children}</div>\r\n            <FooterContainer />\r\n            <ErrorModal\r\n              showModal={this.state.showModalErrorOldConcurrencyToken}\r\n              errorText=\"Handlingen kunne ikke udføres, da meddelelsen er blevet opdateret af en anden bruger. Genindlæs venligst siden og forsøg igen.\"\r\n              onConfirm={() => {\r\n                this.setState({ showModalErrorOldConcurrencyToken: false });\r\n              }}\r\n            />\r\n            <ErrorModal\r\n              showModal={this.state.showBusinessError}\r\n              errorText={this.state.businessErrors ? this.state.businessErrors.toString() : \"\"}\r\n              onConfirm={() => {\r\n                this.setState({ showBusinessError: false, businessErrors: undefined });\r\n              }}\r\n            />\r\n          </GlobalErrorBoundary>\r\n        </div>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  public updateState = (axiosActionCode: AxiosActionCode, status: number, correlationId: string, errors?: string[]) => {\r\n    if (axiosActionCode === AxiosActionCode.ApiError) {\r\n      this.props.history.push(\"/error\", { status, correlationId, returnUrl: window.location.pathname });\r\n    }\r\n    if (axiosActionCode === AxiosActionCode.ShowModalErrorOldConcurrencyToken) {\r\n      this.setState({ showModalErrorOldConcurrencyToken: true });\r\n    }\r\n\r\n    if (axiosActionCode === AxiosActionCode.ShowBusinessErrorModal) {\r\n      this.setState({ showBusinessError: true, businessErrors: errors });\r\n    }\r\n  };\r\n}\r\n\r\nexport default withRouter(Layout);\r\n"],"names":["booleanEnum","BannerContainer","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","showBannerKey","onOkClicked","setState","showBanner","sessionStorage","setItem","false","state","maintenanceNews","_createClass","key","value","_componentDidMount","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","sessionStorageShowBanner","wrap","_context","prev","next","apiGET","sent","getItem","this","length","true","stop","apply","arguments","_this$state","_jsx","MaintenanceBanner","children","map","news","index","_jsxs","title","content","React","FooterContainer","getAllTexts","_this$props$config$wa","texts","externalLinks","externalSiteLinks","entry","text","url","Footer","aboutHeader","bottomLinks","config","wasUrl","isExternal","connect","ownProps","_objectSpread","dispatch","bindActionCreators","TextActions","UserTokenDialogs","_Fragment","user","refreshTokenInformation","hasBeenAutomaticallyLoggedOut","hasBeenLoggedOutFromElsewhere","location","pathname","Redirect","to","Modal","isOpen","isAboutToExpire","ModalHeader","ModalBody","secondsToLogout","ModalFooter","Button","color","onClick","requestRefreshToken","userLogOut","renderWindowMessage","dismissSessionExpiredDialog","hasBeenDeletedAndLoggedOut","userLoggedOut","withRouter","_ref","UserActions","RestrictedPrivilegeContainer","restrictedPrivilegeModalDismissed","onModalConfirm","e","showModal","onModalLogin","window","href","loginSiteUrl","getConfig","sessionStorageShowModal","GetClaimPrivilegeMissingAsAssuranceLevelToLow","indexOf","undefined","ConfigActions","Layout","updateState","axiosActionCode","status","correlationId","errors","AxiosActionCode","ApiError","history","push","returnUrl","ShowModalErrorOldConcurrencyToken","showModalErrorOldConcurrencyToken","ShowBusinessErrorModal","showBusinessError","businessErrors","AxiosService","setupAxios","axiosGlobalError","responseStatus","_this2","IdleUserDetector","className","hidden","packageJson","process","GlobalErrorBoundary","HeaderContainer","ErrorModal","errorText","onConfirm","toString"],"sourceRoot":""}