{"version":3,"file":"static/js/488.22fa0591.chunk.js","mappings":"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","sources":["../node_modules/reactstrap/es/Input.js","data/documentTypeFilterData.ts","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/reactstrap/es/Portal.js","../node_modules/reactstrap/es/Modal.js","../node_modules/reactstrap/es/ModalHeader.js","../node_modules/reactstrap/es/ModalBody.js","../node_modules/reactstrap/es/ModalFooter.js","components/reprintNotes/ReprintNotes.tsx","components/document/Document.tsx","containers/documents/DocumentsContainer.tsx","data/orderByValues.ts","models/MatchField.ts","../node_modules/react-router-dom/es/Link.js","../node_modules/reactstrap/es/Button.js","../node_modules/ts-debounce/src/index.ts","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"type\", \"bsSize\", \"valid\", \"invalid\", \"tag\", \"addon\", \"plaintext\", \"innerRef\"];\n\n/* eslint react/prefer-stateless-function: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, warnOnce, tagPropType } from './utils';\nvar propTypes = {\n children: PropTypes.node,\n type: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n bsSize: PropTypes.string,\n valid: PropTypes.bool,\n invalid: PropTypes.bool,\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n plaintext: PropTypes.bool,\n addon: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\nvar defaultProps = {\n type: 'text'\n};\n\nvar Input = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Input, _React$Component);\n\n function Input(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.getRef = _this.getRef.bind(_assertThisInitialized(_this));\n _this.focus = _this.focus.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = Input.prototype;\n\n _proto.getRef = function getRef(ref) {\n if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n this.ref = ref;\n };\n\n _proto.focus = function focus() {\n if (this.ref) {\n this.ref.focus();\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n cssModule = _this$props.cssModule,\n type = _this$props.type,\n bsSize = _this$props.bsSize,\n valid = _this$props.valid,\n invalid = _this$props.invalid,\n tag = _this$props.tag,\n addon = _this$props.addon,\n plaintext = _this$props.plaintext,\n innerRef = _this$props.innerRef,\n attributes = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n var checkInput = ['radio', 'checkbox'].indexOf(type) > -1;\n var isNotaNumber = new RegExp('\\\\D', 'g');\n var fileInput = type === 'file';\n var textareaInput = type === 'textarea';\n var selectInput = type === 'select';\n var rangeInput = type === 'range';\n var Tag = tag || (selectInput || textareaInput ? type : 'input');\n var formControlClass = 'form-control';\n\n if (plaintext) {\n formControlClass = formControlClass + \"-plaintext\";\n Tag = tag || 'input';\n } else if (fileInput) {\n formControlClass = formControlClass + \"-file\";\n } else if (rangeInput) {\n formControlClass = formControlClass + \"-range\";\n } else if (checkInput) {\n if (addon) {\n formControlClass = null;\n } else {\n formControlClass = 'form-check-input';\n }\n }\n\n if (attributes.size && isNotaNumber.test(attributes.size)) {\n warnOnce('Please use the prop \"bsSize\" instead of the \"size\" to bootstrap\\'s input sizing.');\n bsSize = attributes.size;\n delete attributes.size;\n }\n\n var classes = mapToCssModules(classNames(className, invalid && 'is-invalid', valid && 'is-valid', bsSize ? \"form-control-\" + bsSize : false, formControlClass), cssModule);\n\n if (Tag === 'input' || tag && typeof tag === 'function') {\n attributes.type = type;\n }\n\n if (attributes.children && !(plaintext || type === 'select' || typeof Tag !== 'string' || Tag === 'select')) {\n warnOnce(\"Input with a type of \\\"\" + type + \"\\\" cannot have children. Please use \\\"value\\\"/\\\"defaultValue\\\" instead.\");\n delete attributes.children;\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n ref: innerRef,\n className: classes,\n \"aria-invalid\": invalid\n }));\n };\n\n return Input;\n}(React.Component);\n\nInput.propTypes = propTypes;\nInput.defaultProps = defaultProps;\nexport default Input;","const documentTypeFilterData: any[] = [\r\n {\r\n value: \"\",\r\n label: \"Cirkulærer\",\r\n noCheckBox: true,\r\n },\r\n {\r\n value: \"210\",\r\n label: \"Cirkulæreskrivelse\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"140\",\r\n label: \"Cirkulære (1 sp)\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"150\",\r\n label: \"Cirkulære (2 sp)\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"160\",\r\n label: \"Ændr.cirkulære (1 sp)\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"170\",\r\n label: \"Ændr.cirkulære (2 sp)\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"\",\r\n label: \"Vejledninger\",\r\n noCheckBox: true,\r\n },\r\n {\r\n value: \"180\",\r\n label: \"Vejledning\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"\",\r\n label: \"Skrivelser m.v.\",\r\n noCheckBox: true,\r\n },\r\n {\r\n value: \"200\",\r\n label: \"Skrivelse\",\r\n noCheckBox: false,\r\n },\r\n {\r\n value: \"240\",\r\n label: \"Endelig adm. afgørelse\",\r\n noCheckBox: false,\r\n },\r\n];\r\n\r\nexport { documentTypeFilterData };\r\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { canUseDOM } from './utils';\nvar propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nvar Portal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Portal, _React$Component);\n\n function Portal() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Portal.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n\n this.defaultNode = null;\n };\n\n _proto.render = function render() {\n if (!canUseDOM) {\n return null;\n }\n\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n return /*#__PURE__*/ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);\n };\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = propTypes;\nexport default Portal;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Portal from './Portal';\nimport Fade from './Fade';\nimport { getOriginalBodyPadding, conditionallyUpdateScrollbar, setScrollbarWidth, mapToCssModules, omit, focusableElements, TransitionTimeouts, keyCodes, targetPropType, getTarget } from './utils';\n\nfunction noop() {}\n\nvar FadePropTypes = PropTypes.shape(Fade.propTypes);\nvar propTypes = {\n isOpen: PropTypes.bool,\n autoFocus: PropTypes.bool,\n centered: PropTypes.bool,\n scrollable: PropTypes.bool,\n size: PropTypes.string,\n toggle: PropTypes.func,\n keyboard: PropTypes.bool,\n role: PropTypes.string,\n labelledBy: PropTypes.string,\n backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['static'])]),\n onEnter: PropTypes.func,\n onExit: PropTypes.func,\n onOpened: PropTypes.func,\n onClosed: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n wrapClassName: PropTypes.string,\n modalClassName: PropTypes.string,\n backdropClassName: PropTypes.string,\n contentClassName: PropTypes.string,\n external: PropTypes.node,\n fade: PropTypes.bool,\n cssModule: PropTypes.object,\n zIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n backdropTransition: FadePropTypes,\n modalTransition: FadePropTypes,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.func]),\n unmountOnClose: PropTypes.bool,\n returnFocusAfterClose: PropTypes.bool,\n container: targetPropType,\n trapFocus: PropTypes.bool\n};\nvar propsToOmit = Object.keys(propTypes);\nvar defaultProps = {\n isOpen: false,\n autoFocus: true,\n centered: false,\n scrollable: false,\n role: 'dialog',\n backdrop: true,\n keyboard: true,\n zIndex: 1050,\n fade: true,\n onOpened: noop,\n onClosed: noop,\n modalTransition: {\n timeout: TransitionTimeouts.Modal\n },\n backdropTransition: {\n mountOnEnter: true,\n timeout: TransitionTimeouts.Fade // uses standard fade transition\n\n },\n unmountOnClose: true,\n returnFocusAfterClose: true,\n container: 'body',\n trapFocus: false\n};\n\nvar Modal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Modal, _React$Component);\n\n function Modal(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this._element = null;\n _this._originalBodyPadding = null;\n _this.getFocusableChildren = _this.getFocusableChildren.bind(_assertThisInitialized(_this));\n _this.handleBackdropClick = _this.handleBackdropClick.bind(_assertThisInitialized(_this));\n _this.handleBackdropMouseDown = _this.handleBackdropMouseDown.bind(_assertThisInitialized(_this));\n _this.handleEscape = _this.handleEscape.bind(_assertThisInitialized(_this));\n _this.handleStaticBackdropAnimation = _this.handleStaticBackdropAnimation.bind(_assertThisInitialized(_this));\n _this.handleTab = _this.handleTab.bind(_assertThisInitialized(_this));\n _this.onOpened = _this.onOpened.bind(_assertThisInitialized(_this));\n _this.onClosed = _this.onClosed.bind(_assertThisInitialized(_this));\n _this.manageFocusAfterClose = _this.manageFocusAfterClose.bind(_assertThisInitialized(_this));\n _this.clearBackdropAnimationTimeout = _this.clearBackdropAnimationTimeout.bind(_assertThisInitialized(_this));\n _this.trapFocus = _this.trapFocus.bind(_assertThisInitialized(_this));\n _this.state = {\n isOpen: false,\n showStaticBackdropAnimation: false\n };\n return _this;\n }\n\n var _proto = Modal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props = this.props,\n isOpen = _this$props.isOpen,\n autoFocus = _this$props.autoFocus,\n onEnter = _this$props.onEnter;\n\n if (isOpen) {\n this.init();\n this.setState({\n isOpen: true\n });\n\n if (autoFocus) {\n this.setFocus();\n }\n }\n\n if (onEnter) {\n onEnter();\n } // traps focus inside the Modal, even if the browser address bar is focused\n\n\n document.addEventListener('focus', this.trapFocus, true);\n this._isMounted = true;\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.props.isOpen && !prevProps.isOpen) {\n this.init();\n this.setState({\n isOpen: true\n }); // let render() renders Modal Dialog first\n\n return;\n } // now Modal Dialog is rendered and we can refer this._element and this._dialog\n\n\n if (this.props.autoFocus && this.state.isOpen && !prevState.isOpen) {\n this.setFocus();\n }\n\n if (this._element && prevProps.zIndex !== this.props.zIndex) {\n this._element.style.zIndex = this.props.zIndex;\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.clearBackdropAnimationTimeout();\n\n if (this.props.onExit) {\n this.props.onExit();\n }\n\n if (this._element) {\n this.destroy();\n\n if (this.props.isOpen || this.state.isOpen) {\n this.close();\n }\n }\n\n document.removeEventListener('focus', this.trapFocus, true);\n this._isMounted = false;\n };\n\n _proto.trapFocus = function trapFocus(ev) {\n if (!this.props.trapFocus) {\n return;\n }\n\n if (!this._element) //element is not attached\n return;\n if (this._dialog && this._dialog.parentNode === ev.target) // initial focus when the Modal is opened\n return;\n if (this.modalIndex < Modal.openCount - 1) // last opened modal\n return;\n var children = this.getFocusableChildren();\n\n for (var i = 0; i < children.length; i++) {\n // focus is already inside the Modal\n if (children[i] === ev.target) return;\n }\n\n if (children.length > 0) {\n // otherwise focus the first focusable element in the Modal\n ev.preventDefault();\n ev.stopPropagation();\n children[0].focus();\n }\n };\n\n _proto.onOpened = function onOpened(node, isAppearing) {\n this.props.onOpened();\n (this.props.modalTransition.onEntered || noop)(node, isAppearing);\n };\n\n _proto.onClosed = function onClosed(node) {\n var unmountOnClose = this.props.unmountOnClose; // so all methods get called before it is unmounted\n\n this.props.onClosed();\n (this.props.modalTransition.onExited || noop)(node);\n\n if (unmountOnClose) {\n this.destroy();\n }\n\n this.close();\n\n if (this._isMounted) {\n this.setState({\n isOpen: false\n });\n }\n };\n\n _proto.setFocus = function setFocus() {\n if (this._dialog && this._dialog.parentNode && typeof this._dialog.parentNode.focus === 'function') {\n this._dialog.parentNode.focus();\n }\n };\n\n _proto.getFocusableChildren = function getFocusableChildren() {\n return this._element.querySelectorAll(focusableElements.join(', '));\n };\n\n _proto.getFocusedChild = function getFocusedChild() {\n var currentFocus;\n var focusableChildren = this.getFocusableChildren();\n\n try {\n currentFocus = document.activeElement;\n } catch (err) {\n currentFocus = focusableChildren[0];\n }\n\n return currentFocus;\n } // not mouseUp because scrollbar fires it, shouldn't close when user scrolls\n ;\n\n _proto.handleBackdropClick = function handleBackdropClick(e) {\n if (e.target === this._mouseDownElement) {\n e.stopPropagation();\n var backdrop = this._dialog ? this._dialog.parentNode : null;\n\n if (backdrop && e.target === backdrop && this.props.backdrop === 'static') {\n this.handleStaticBackdropAnimation();\n }\n\n if (!this.props.isOpen || this.props.backdrop !== true) return;\n\n if (backdrop && e.target === backdrop && this.props.toggle) {\n this.props.toggle(e);\n }\n }\n };\n\n _proto.handleTab = function handleTab(e) {\n if (e.which !== 9) return;\n if (this.modalIndex < Modal.openCount - 1) return; // last opened modal\n\n var focusableChildren = this.getFocusableChildren();\n var totalFocusable = focusableChildren.length;\n if (totalFocusable === 0) return;\n var currentFocus = this.getFocusedChild();\n var focusedIndex = 0;\n\n for (var i = 0; i < totalFocusable; i += 1) {\n if (focusableChildren[i] === currentFocus) {\n focusedIndex = i;\n break;\n }\n }\n\n if (e.shiftKey && focusedIndex === 0) {\n e.preventDefault();\n focusableChildren[totalFocusable - 1].focus();\n } else if (!e.shiftKey && focusedIndex === totalFocusable - 1) {\n e.preventDefault();\n focusableChildren[0].focus();\n }\n };\n\n _proto.handleBackdropMouseDown = function handleBackdropMouseDown(e) {\n this._mouseDownElement = e.target;\n };\n\n _proto.handleEscape = function handleEscape(e) {\n if (this.props.isOpen && e.keyCode === keyCodes.esc && this.props.toggle) {\n if (this.props.keyboard) {\n e.preventDefault();\n e.stopPropagation();\n this.props.toggle(e);\n } else if (this.props.backdrop === 'static') {\n e.preventDefault();\n e.stopPropagation();\n this.handleStaticBackdropAnimation();\n }\n }\n };\n\n _proto.handleStaticBackdropAnimation = function handleStaticBackdropAnimation() {\n var _this2 = this;\n\n this.clearBackdropAnimationTimeout();\n this.setState({\n showStaticBackdropAnimation: true\n });\n this._backdropAnimationTimeout = setTimeout(function () {\n _this2.setState({\n showStaticBackdropAnimation: false\n });\n }, 100);\n };\n\n _proto.init = function init() {\n try {\n this._triggeringElement = document.activeElement;\n } catch (err) {\n this._triggeringElement = null;\n }\n\n if (!this._element) {\n this._element = document.createElement('div');\n\n this._element.setAttribute('tabindex', '-1');\n\n this._element.style.position = 'relative';\n this._element.style.zIndex = this.props.zIndex;\n this._mountContainer = getTarget(this.props.container);\n\n this._mountContainer.appendChild(this._element);\n }\n\n this._originalBodyPadding = getOriginalBodyPadding();\n conditionallyUpdateScrollbar();\n\n if (Modal.openCount === 0) {\n document.body.className = classNames(document.body.className, mapToCssModules('modal-open', this.props.cssModule));\n }\n\n this.modalIndex = Modal.openCount;\n Modal.openCount += 1;\n };\n\n _proto.destroy = function destroy() {\n if (this._element) {\n this._mountContainer.removeChild(this._element);\n\n this._element = null;\n }\n\n this.manageFocusAfterClose();\n };\n\n _proto.manageFocusAfterClose = function manageFocusAfterClose() {\n if (this._triggeringElement) {\n var returnFocusAfterClose = this.props.returnFocusAfterClose;\n if (this._triggeringElement.focus && returnFocusAfterClose) this._triggeringElement.focus();\n this._triggeringElement = null;\n }\n };\n\n _proto.close = function close() {\n if (Modal.openCount <= 1) {\n var modalOpenClassName = mapToCssModules('modal-open', this.props.cssModule); // Use regex to prevent matching `modal-open` as part of a different class, e.g. `my-modal-opened`\n\n var modalOpenClassNameRegex = new RegExp(\"(^| )\" + modalOpenClassName + \"( |$)\");\n document.body.className = document.body.className.replace(modalOpenClassNameRegex, ' ').trim();\n }\n\n this.manageFocusAfterClose();\n Modal.openCount = Math.max(0, Modal.openCount - 1);\n setScrollbarWidth(this._originalBodyPadding);\n };\n\n _proto.renderModalDialog = function renderModalDialog() {\n var _classNames,\n _this3 = this;\n\n var attributes = omit(this.props, propsToOmit);\n var dialogBaseClass = 'modal-dialog';\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, attributes, {\n className: mapToCssModules(classNames(dialogBaseClass, this.props.className, (_classNames = {}, _classNames[\"modal-\" + this.props.size] = this.props.size, _classNames[dialogBaseClass + \"-centered\"] = this.props.centered, _classNames[dialogBaseClass + \"-scrollable\"] = this.props.scrollable, _classNames)), this.props.cssModule),\n role: \"document\",\n ref: function ref(c) {\n _this3._dialog = c;\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: mapToCssModules(classNames('modal-content', this.props.contentClassName), this.props.cssModule)\n }, this.props.children));\n };\n\n _proto.render = function render() {\n var unmountOnClose = this.props.unmountOnClose;\n\n if (!!this._element && (this.state.isOpen || !unmountOnClose)) {\n var isModalHidden = !!this._element && !this.state.isOpen && !unmountOnClose;\n this._element.style.display = isModalHidden ? 'none' : 'block';\n var _this$props2 = this.props,\n wrapClassName = _this$props2.wrapClassName,\n modalClassName = _this$props2.modalClassName,\n backdropClassName = _this$props2.backdropClassName,\n cssModule = _this$props2.cssModule,\n isOpen = _this$props2.isOpen,\n backdrop = _this$props2.backdrop,\n role = _this$props2.role,\n labelledBy = _this$props2.labelledBy,\n external = _this$props2.external,\n innerRef = _this$props2.innerRef;\n var modalAttributes = {\n onClick: this.handleBackdropClick,\n onMouseDown: this.handleBackdropMouseDown,\n onKeyUp: this.handleEscape,\n onKeyDown: this.handleTab,\n style: {\n display: 'block'\n },\n 'aria-labelledby': labelledBy,\n role: role,\n tabIndex: '-1'\n };\n var hasTransition = this.props.fade;\n\n var modalTransition = _objectSpread(_objectSpread(_objectSpread({}, Fade.defaultProps), this.props.modalTransition), {}, {\n baseClass: hasTransition ? this.props.modalTransition.baseClass : '',\n timeout: hasTransition ? this.props.modalTransition.timeout : 0\n });\n\n var backdropTransition = _objectSpread(_objectSpread(_objectSpread({}, Fade.defaultProps), this.props.backdropTransition), {}, {\n baseClass: hasTransition ? this.props.backdropTransition.baseClass : '',\n timeout: hasTransition ? this.props.backdropTransition.timeout : 0\n });\n\n var Backdrop = backdrop && (hasTransition ? /*#__PURE__*/React.createElement(Fade, _extends({}, backdropTransition, {\n in: isOpen && !!backdrop,\n cssModule: cssModule,\n className: mapToCssModules(classNames('modal-backdrop', backdropClassName), cssModule)\n })) : /*#__PURE__*/React.createElement(\"div\", {\n className: mapToCssModules(classNames('modal-backdrop', 'show', backdropClassName), cssModule)\n }));\n return /*#__PURE__*/React.createElement(Portal, {\n node: this._element\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: mapToCssModules(wrapClassName)\n }, /*#__PURE__*/React.createElement(Fade, _extends({}, modalAttributes, modalTransition, {\n in: isOpen,\n onEntered: this.onOpened,\n onExited: this.onClosed,\n cssModule: cssModule,\n className: mapToCssModules(classNames('modal', modalClassName, this.state.showStaticBackdropAnimation && 'modal-static'), cssModule),\n innerRef: innerRef\n }), external, this.renderModalDialog()), Backdrop));\n }\n\n return null;\n };\n\n _proto.clearBackdropAnimationTimeout = function clearBackdropAnimationTimeout() {\n if (this._backdropAnimationTimeout) {\n clearTimeout(this._backdropAnimationTimeout);\n this._backdropAnimationTimeout = undefined;\n }\n };\n\n return Modal;\n}(React.Component);\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.openCount = 0;\nexport default Modal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"children\", \"toggle\", \"tag\", \"wrapTag\", \"closeAriaLabel\", \"charCode\", \"close\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n wrapTag: tagPropType,\n toggle: PropTypes.func,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n children: PropTypes.node,\n closeAriaLabel: PropTypes.string,\n charCode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close: PropTypes.object\n};\nvar defaultProps = {\n tag: 'h5',\n wrapTag: 'div',\n closeAriaLabel: 'Close',\n charCode: 215\n};\n\nvar ModalHeader = function ModalHeader(props) {\n var closeButton;\n\n var className = props.className,\n cssModule = props.cssModule,\n children = props.children,\n toggle = props.toggle,\n Tag = props.tag,\n WrapTag = props.wrapTag,\n closeAriaLabel = props.closeAriaLabel,\n charCode = props.charCode,\n close = props.close,\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className, 'modal-header'), cssModule);\n\n if (!close && toggle) {\n var closeIcon = typeof charCode === 'number' ? String.fromCharCode(charCode) : charCode;\n closeButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: toggle,\n className: mapToCssModules('close', cssModule),\n \"aria-label\": closeAriaLabel\n }, /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, closeIcon));\n }\n\n return /*#__PURE__*/React.createElement(WrapTag, _extends({}, attributes, {\n className: classes\n }), /*#__PURE__*/React.createElement(Tag, {\n className: mapToCssModules('modal-title', cssModule)\n }, children), close || closeButton);\n};\n\nModalHeader.propTypes = propTypes;\nModalHeader.defaultProps = defaultProps;\nexport default ModalHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\nvar defaultProps = {\n tag: 'div'\n};\n\nvar ModalBody = function ModalBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className, 'modal-body'), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nModalBody.propTypes = propTypes;\nModalBody.defaultProps = defaultProps;\nexport default ModalBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\nvar defaultProps = {\n tag: 'div'\n};\n\nvar ModalFooter = function ModalFooter(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className, 'modal-footer'), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nModalFooter.propTypes = propTypes;\nModalFooter.defaultProps = defaultProps;\nexport default ModalFooter;","import * as React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Row, Col } from \"reactstrap\";\r\nimport { IReprintNote } from \"../../models/IReprintNote\";\r\nimport { AppState } from \"../../store\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { IReprintInformationActions, ReprintInformationActions } from \"../../store/notes/notesReducer\";\r\nimport \"./ReprintNotes.scss\";\r\nimport { Icon, IconType } from \"@lexdania/components\";\r\n\r\nexport interface IReprintNotesProps extends IReprintInformationActions {\r\n docId: number;\r\n isOpen: boolean;\r\n toggleModal: () => void;\r\n reprintNotes?: IReprintNote[];\r\n title: string;\r\n shortName: string;\r\n ressort: string;\r\n}\r\n\r\nexport const ReprintNotes: React.FC<IReprintNotesProps> = props => {\r\n const { toggleModal, isOpen, reprintNotes, getReprintNotes, docId, shortName, title, ressort } = props;\r\n\r\n React.useEffect(() => {\r\n if (isOpen) {\r\n getReprintNotes(docId);\r\n }\r\n }, [docId, getReprintNotes, isOpen]);\r\n\r\n return (\r\n <Modal isOpen={isOpen} className=\"modal-xl reprint-notes-modal\">\r\n <ModalHeader tag=\"div\">\r\n <div>{shortName}</div>\r\n <h3>{title}</h3>\r\n <div className=\"text-muted\">{ressort}</div>\r\n </ModalHeader>\r\n <ModalBody className=\"background-secondary\">\r\n {reprintNotes &&\r\n reprintNotes.map((note, index) => (\r\n <div key={index} className=\"reprint-note\">\r\n <Row className=\"\">\r\n <Col className=\"mb-2\">\r\n <span>{note.date}</span>\r\n </Col>\r\n <Col classname=\"mb-2\">\r\n <a href={`/api/pdf/${note.reprintOfId}`} className=\"float-right pr-2\">\r\n <span className=\"sr-only\">Åbn PDF af dokumentet inden dette omtryk</span>\r\n <Icon icon={IconType.FilePdf} iconSize={22}></Icon>\r\n </a>\r\n </Col>\r\n </Row>\r\n <div dangerouslySetInnerHTML={{ __html: note.note.replace(\"\\\\r\\\\n\", \"<br />\") }} />\r\n </div>\r\n ))}\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button color=\"primary\" onClick={toggleModal}>\r\n Ok\r\n </Button>\r\n </ModalFooter>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default connect(\r\n ({ notes }: AppState, ownProps: any): IReprintNotesProps => {\r\n return {\r\n ...ownProps,\r\n reprintNotes: notes.reprintNotes,\r\n };\r\n },\r\n dispatch =>\r\n bindActionCreators(\r\n {\r\n ...ReprintInformationActions,\r\n },\r\n dispatch\r\n )\r\n)(ReprintNotes);\r\n","import * as React from \"react\";\r\nimport { IDocument } from \"./../../models/IDocument\";\r\nimport { Row, Col, Container, Button } from \"reactstrap\";\r\nimport { Icon, IconType } from \"@lexdania/components\";\r\nimport \"./Document.scss\";\r\nimport ReprintNotes from \"../reprintNotes/ReprintNotes\";\r\n\r\nfunction nlToBr(str: string = \"\"): string | JSX.Element[] {\r\n const arr = str.split(\"\\\\n\");\r\n if (arr.length < 2) {\r\n return str;\r\n }\r\n const elmsArr = arr.flatMap((s, i) => [<span key={i}>{s}</span>, <br key={\"b\" + i} />]);\r\n elmsArr.pop();\r\n return elmsArr;\r\n}\r\n\r\ninterface IDocumentProps {\r\n document: IDocument;\r\n}\r\n\r\nconst Document: React.FC<IDocumentProps> = props => {\r\n const { document: d } = props;\r\n\r\n const [showReprintNotes, setShowReprintNotes] = React.useState(false);\r\n\r\n const toggleReprintNotes = () => {\r\n setShowReprintNotes(!showReprintNotes);\r\n };\r\n\r\n return (\r\n <Container className=\"document-entry py-3 px-sm-0 pl-sm-0\">\r\n <ReprintNotes ressort={d.ressortName} isOpen={showReprintNotes} toggleModal={toggleReprintNotes} docId={d.id} title={d.title} shortName={d.shortName} />\r\n\r\n <Row className=\"my-2\">\r\n <Col lg={6} className=\"px-xs-0\">\r\n <div className=\"document-short-name d-block d-sm-inline pb-1 pb-sm-0 mr-sm-2\">{d.shortName}</div>\r\n <div className=\"badge-container d-block d-sm-inline py-1 py-md-0 mr-sm-2\">\r\n {d.isReprint && (\r\n <Button color=\"primary\" className=\" py-2 px-3 omtrykt-badge badge btn-badge\" onClick={toggleReprintNotes}>\r\n OMTRYKT\r\n </Button>\r\n )}\r\n </div>\r\n </Col>\r\n <Col className=\"document-ressort text-lg-right text-sm-left py-1 py-md-0 px-xs-0\">{d.ressortName}</Col>\r\n </Row>\r\n <Row>\r\n <Col lg={12} className=\"px-xs-0\">\r\n <a href={`/api/pdf/${d.id}`}>\r\n <h3>{nlToBr(d.title)}</h3>\r\n </a>\r\n </Col>\r\n </Row>\r\n <Row className=\"mt-md-2\">\r\n <Col lg={8} className=\"document-popular-title my-2 my-md-0 px-xs-0\">\r\n {d.offentliggoerelsesDato}\r\n {d.popularTitle && d.offentliggoerelsesDato && <span className=\"px-2 text-primary\"> | </span>}\r\n {d.popularTitle}\r\n </Col>\r\n <Col lg={4} className=\"retsinfo-link px-xs-0\">\r\n {\r\n <a href={d.retsinfoLink} target=\"_blank\" rel=\"noopener noreferrer\" className=\"d-block d-md-inline mt-0\">\r\n <Icon icon={IconType.ExternalLink} />\r\n Retsinformation\r\n </a>\r\n }\r\n </Col>\r\n </Row>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Document;\r\n","import * as React from \"react\";\r\nimport * as qs from \"query-string\";\r\nimport \"./DocumentsContainer.scss\";\r\nimport { DocumentSearchActions, IDocumentSearchActions, DocumentSearchParams } from \"../../store/documents/documentSearchReducer\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { apiGET } from \"../../store/api\";\r\nimport { Col, Row, Input, Card } from \"reactstrap\";\r\nimport {\r\n IconType,\r\n SearchChip,\r\n DoubleSlider,\r\n ICollapsableTreeNode,\r\n updateOnArrowClick,\r\n CollapsableTree,\r\n EmptyStringArray,\r\n IOrderByValue,\r\n SearchChipHistory,\r\n IKeyword,\r\n IKeywordSection,\r\n Keyword,\r\n updateKeywordOnChecked,\r\n toggleNodeCheckedAndUpdate,\r\n LiveSearch,\r\n ILiveResultItemProps,\r\n CollapsibleBox,\r\n LiveResultTemplateEnum,\r\n PageSize,\r\n SearchResultView,\r\n} from \"@lexdania/components\";\r\nimport { IDocumentSearchResult } from \"./IDocumentSearchResult\";\r\nimport { AppState } from \"../../store\";\r\nimport { IRessort } from \"../../models/IRessort\";\r\nimport { documentTypeFilterData } from \"../../data/documentTypeFilterData\";\r\nimport { RessortActions, IRessortActions } from \"../../store/ressorter/ressortReducer\";\r\nimport { IDocument } from \"../../models/IDocument\";\r\nimport Document from \"../../components/document/Document\";\r\nimport { IAargangeActions, AargangeActions } from \"../../store/aargang/aargangReducer\";\r\nimport { TagActions } from \"../../store/tags/tagsReducer\";\r\nimport { ITag } from \"../../models/ITag\";\r\nimport { ITagActions } from \"../../store/tags/tagsReducer\";\r\nimport { orderByValues } from \"../../data/orderByValues\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { debounce } from \"ts-debounce\";\r\nimport { LiveSearchHitDto } from \"../../models/LiveSearchHitDto\";\r\nimport { MatchField } from \"../../models/MatchField\";\r\n\r\ninterface IDocumentsContainerProps extends IDocumentSearchActions, RouteComponentProps<any>, IRessortActions, IAargangeActions, ITagActions {\r\n paramsString: string;\r\n paramsOrDefaults: Readonly<DocumentSearchParams>;\r\n ressorter: IRessort[];\r\n tags: ITag[];\r\n getRessortName: (id: string) => string;\r\n}\r\n\r\ninterface IDocumentSearchParamsState {\r\n activePage: number;\r\n activePageSize: PageSize;\r\n selectedOrderByValue?: IOrderByValue;\r\n ascendingOrder: boolean;\r\n yearStart: number;\r\n yearEnd: number;\r\n historicalRessort: string[];\r\n documentNumberRange: string;\r\n searchTerms: string[];\r\n titles: string[];\r\n popularTitles: string[];\r\n}\r\n\r\ninterface ILiveSearchState {\r\n liveSearchTerm: string;\r\n hits: ILiveResultItemProps[];\r\n staticLiveSearchItemsCount: number;\r\n}\r\n\r\ninterface IDocumentsContainerState extends IDocumentSearchParamsState {\r\n searchResult: IDocumentSearchResult;\r\n ressortList: ICollapsableTreeNode[];\r\n builtFilters: boolean;\r\n documentTypeList: ICollapsableTreeNode[];\r\n tagsList: IKeywordSection;\r\n ressortFilterIsOpen: boolean;\r\n yearStartTmp: number | \"\";\r\n yearEndTmp: number | \"\";\r\n currentSearchTerm: string;\r\n liveSearchState: ILiveSearchState;\r\n searchTerms: string[];\r\n}\r\nconst keys = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"æ\", \"ø\", \"å\"];\r\n\r\n// does the rawSearchTerm match number/year pattern\r\n// match for: 20 2008 | >10 2009 | <50 2010 | 22-33 2011\r\nconst numberAndYearRegExp: RegExp = /(^(<|>)([1-9]\\d*)|^([1-9]\\d*)|^([1-9]\\d*)(-)([1-9]\\d*))( (2008|2009|2010|2011|2012))?$/;\r\nconst allNumbersRegExp: RegExp = /\\d+/g;\r\nconst validYearsRegExp: RegExp = /(?:^|\\D)(2008|2009|2010|2011|2012)(?!\\d)/g;\r\n\r\nfunction removeNewline(str: string = \"\", replaceWith: string = \"\"): string {\r\n return str.replace(\"\\\\n\", replaceWith);\r\n}\r\n\r\nconst defaultLiveSearchState: Readonly<{ liveSearchTerm: string; hits: ILiveResultItemProps[]; staticLiveSearchItemsCount: number }> = {\r\n liveSearchTerm: \"\",\r\n hits: [],\r\n staticLiveSearchItemsCount: 0,\r\n};\r\n\r\nconst yearLow = 2008;\r\nconst yearHigh = 2012;\r\n\r\nconst defaultParams: Readonly<DocumentSearchParams> = {\r\n page: 0,\r\n ps: PageSize.Ten,\r\n yh: yearHigh,\r\n yl: yearLow,\r\n o: orderByValues[0].key,\r\n d: false,\r\n r: EmptyStringArray,\r\n hr: EmptyStringArray,\r\n dt: EmptyStringArray,\r\n e: EmptyStringArray,\r\n dnr: \"\",\r\n t: EmptyStringArray,\r\n ttl: EmptyStringArray,\r\n pttl: EmptyStringArray,\r\n};\r\n\r\nconst isNaNOrEmptyString = (numOrEmptyString: number | \"\") => numOrEmptyString === \"\" || Number.isNaN(numOrEmptyString);\r\n\r\nconst clampYear = (year: number) => Math.min(Math.max(year, yearLow), yearHigh);\r\n\r\nfunction getNumberText(number: string | null) {\r\n if (number === null || number === \"\") return \"\";\r\n return \"Søg efter nummer <strong>\" + number + \"</strong>\";\r\n}\r\n\r\nfunction getYearText(year: string | null) {\r\n if (year === null) return \"\";\r\n return \" i årgang <strong>\" + year + \"</strong>\";\r\n}\r\n\r\n// investigate match array and build a more readable text\r\nfunction getNumberAndYearText(arr: RegExpMatchArray | null): string {\r\n let buildText = \"\";\r\n if (arr === null) {\r\n return \"\";\r\n }\r\n\r\n if (arr[2] === undefined) {\r\n buildText = getNumberText(arr[1]);\r\n }\r\n\r\n if (arr[2] === \"<\") {\r\n buildText = \"Søg efter numre <strong>mindre end \" + arr[3] + \"</strong>\";\r\n }\r\n\r\n if (arr[2] === \">\") {\r\n buildText = \"Søg efter numre <strong>større end \" + arr[3] + \"</strong>\";\r\n }\r\n\r\n if (arr[6] === \"-\") {\r\n buildText = \"Søg efter numre i intervallet <strong>\" + arr[1] + \"</strong>\";\r\n }\r\n\r\n if (arr[8] !== undefined) {\r\n buildText = buildText + getYearText(arr[8]);\r\n }\r\n return buildText;\r\n}\r\n\r\nfunction paramsToDspState(dsp: DocumentSearchParams): IDocumentSearchParamsState {\r\n return {\r\n activePage: dsp.page,\r\n activePageSize: dsp.ps,\r\n selectedOrderByValue: orderByValues.find(obv => obv.key === dsp.o) || orderByValues[0],\r\n ascendingOrder: dsp.d,\r\n yearStart: clampYear(dsp.yl),\r\n yearEnd: clampYear(dsp.yh),\r\n historicalRessort: dsp.hr,\r\n documentNumberRange: dsp.dnr,\r\n searchTerms: dsp.t,\r\n titles: dsp.ttl,\r\n popularTitles: dsp.pttl,\r\n };\r\n}\r\n\r\nclass DocumentsContainer extends React.Component<IDocumentsContainerProps, IDocumentsContainerState> {\r\n public readonly state: IDocumentsContainerState = {\r\n searchResult: { pageCount: 0, documents: [], resultCount: 0 },\r\n ...paramsToDspState(this.props.paramsOrDefaults),\r\n ressortList: [],\r\n builtFilters: false,\r\n documentTypeList: [],\r\n tagsList: { label: \"\", id: \"\", keywords: [] },\r\n yearStartTmp: \"\",\r\n yearEndTmp: \"\",\r\n currentSearchTerm: \"\",\r\n liveSearchState: defaultLiveSearchState,\r\n ressortFilterIsOpen: false,\r\n };\r\n\r\n componentDidMount() {\r\n document.title = \"Ministerialtidende | Søg dokumenter\";\r\n this.initFiltersAndSearch();\r\n this.props.getRessorter();\r\n this.props.getAargange();\r\n this.props.getTags();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.initFiltersAndSearch();\r\n }\r\n\r\n public initFiltersAndSearch() {\r\n if (this.props.paramsString !== this.props.location.search) {\r\n if (this.props.location.search) {\r\n this.props.setParams(this.props.location.search);\r\n } else {\r\n this.props.history.replace(this.props.paramsString);\r\n }\r\n this.setState({ builtFilters: false });\r\n return;\r\n }\r\n\r\n if (this.props.ressorter.length === 0) {\r\n return;\r\n }\r\n\r\n if (this.state.builtFilters) {\r\n return;\r\n }\r\n\r\n if (this.props.tags.length === 0) {\r\n return;\r\n }\r\n\r\n const stateFromParams = paramsToDspState(this.props.paramsOrDefaults);\r\n this.setState(\r\n {\r\n ...stateFromParams,\r\n builtFilters: true,\r\n ressortList: this.getRessortFilters(this.props.ressorter),\r\n ressortFilterIsOpen: this.props.paramsOrDefaults.r.length > 0, // check if the url has a ressorter param\r\n documentTypeList: this.getDocTypeFilters(documentTypeFilterData),\r\n tagsList: this.getTagFilters(this.props.tags),\r\n yearStartTmp: stateFromParams.yearStart,\r\n yearEndTmp: stateFromParams.yearEnd,\r\n documentNumberRange: stateFromParams.documentNumberRange,\r\n searchTerms: stateFromParams.searchTerms,\r\n },\r\n () => this.setParamsAndSearch()\r\n );\r\n }\r\n\r\n public onOrderByChange = (value: IOrderByValue) => (e: React.SyntheticEvent) => {\r\n e.preventDefault();\r\n if (this.state.selectedOrderByValue !== value) {\r\n this.setState(\r\n {\r\n selectedOrderByValue: value,\r\n ascendingOrder: value.isDefaultDirectionAscending || false,\r\n activePage: 0,\r\n },\r\n this.setParamsAndSearch\r\n );\r\n }\r\n };\r\n\r\n public onOrderChange = () => this.setState({ ascendingOrder: !this.state.ascendingOrder, activePage: 0 }, this.setParamsAndSearch);\r\n\r\n public render() {\r\n const {\r\n searchResult,\r\n activePage,\r\n activePageSize,\r\n selectedOrderByValue,\r\n ascendingOrder,\r\n yearStart,\r\n yearEnd,\r\n yearStartTmp,\r\n yearEndTmp,\r\n currentSearchTerm,\r\n liveSearchState,\r\n } = this.state;\r\n return (\r\n <div className=\"documents-container\">\r\n {/* Search box */}\r\n <Row>\r\n <Col className=\"px-xs-0\">\r\n <Card color=\"primary\" className=\"searchbox-container p-4 mb-2\">\r\n <LiveSearch\r\n onChange={e => this.onLiveSearchTermChange(e, false)}\r\n onSearchButtonClicked={this.onSearchButtonClicked}\r\n searchTerm={currentSearchTerm}\r\n data={liveSearchState.hits}\r\n searchPlaceHolder=\"Søg efter nummer og år, titel eller populærtitel\"\r\n buttonStyle=\"secondary\"\r\n autofocus={true}\r\n />\r\n </Card>\r\n </Col>\r\n </Row>\r\n\r\n <Row className=\"mt-2\">\r\n {/* Filters column */}\r\n <Col lg=\"4\" className=\"search-filter-col px-xs-0\">\r\n {/* Chip actions */}\r\n <div className=\"chip-action-container d-flex\">\r\n <Link\r\n to=\"#\"\r\n className=\"font-weight-bold pt-1 ml-3 ml-sm-0\"\r\n onClick={e => {\r\n e.preventDefault();\r\n this.ClearSearch();\r\n }}\r\n >\r\n Nulstil <span className=\"d-none d-lg-inline\">søgning</span>\r\n </Link>\r\n </div>\r\n\r\n {/* Dokumenttype-filter */}\r\n <CollapsibleBox className=\"filterbox tree-filterbox\" isOpen={true} icon={IconType.BookReader} heading=\"Dokumenttype\">\r\n <CollapsableTree\r\n listOfNodes={this.state.documentTypeList}\r\n onChange={this.onDocTypeFilterChange}\r\n className=\"collapsable-tree-container\"\r\n activeTreeStructure={true}\r\n onArrowClick={this.onArrowClickDocType}\r\n />\r\n </CollapsibleBox>\r\n {/* Årgange-filter */}\r\n <CollapsibleBox className=\"filterbox\" isOpen={true} icon={IconType.CalendarAlt} heading=\"Årgang\">\r\n <DoubleSlider min={yearLow} max={yearHigh} defaultValueLow={yearStart} defaultValueHigh={yearEnd} onChanged={this.onYearChange} />\r\n <br />\r\n\r\n <Row>\r\n <Col>\r\n <Input\r\n aria-label=\"Søg startende fra årgang\"\r\n type=\"number\"\r\n value={yearStartTmp}\r\n onChange={e => this.onYearStartChange(Number.parseFloat(e.currentTarget.value))}\r\n onBlur={e => this.onYearStartBlur(Number.parseFloat(e.currentTarget.value))}\r\n />\r\n </Col>\r\n <Col>\r\n <Input\r\n aria-label=\"Søg til og med årgang\"\r\n type=\"number\"\r\n value={yearEndTmp}\r\n onChange={e => this.onYearEndChange(Number.parseFloat(e.currentTarget.value))}\r\n onBlur={e => this.onYearEndBlur(Number.parseFloat(e.currentTarget.value))}\r\n />\r\n </Col>\r\n </Row>\r\n </CollapsibleBox>\r\n {/* Ministeriefilter */}\r\n <CollapsibleBox className=\"filterbox tree-filterbox\" icon={IconType.City} isOpen={this.state.ressortFilterIsOpen} heading=\"Ministerium\">\r\n <CollapsableTree\r\n listOfNodes={this.state.ressortList}\r\n onChange={this.onRessortFilterChange}\r\n className=\"collapsable-tree-container\"\r\n activeTreeStructure={true}\r\n onArrowClick={this.onArrowClick}\r\n />\r\n </CollapsibleBox>\r\n {/* Emneord */}\r\n <CollapsibleBox className=\"filterbox\" isOpen={true} icon={IconType.Font} heading=\"Emneord\">\r\n <Keyword keys={keys} keywordSections={[this.state.tagsList]} handleKeywordChecked={this.handleKeywordChecked} />\r\n </CollapsibleBox>\r\n </Col>\r\n {/* Search result */}\r\n <Col lg={8} className=\"mt-3 mt-md-2 mt-lg-0\">\r\n <SearchResultView\r\n searchResultItems={searchResult.documents}\r\n activePage={activePage}\r\n activePageSize={activePageSize}\r\n onPageChange={this.onPageChange}\r\n onPageSizeChange={this.onPageSizeChange}\r\n pageCount={searchResult.pageCount}\r\n renderItem={(searchResultItem: IDocument) => <Document document={searchResultItem} />}\r\n isSearchDirectionAscending={ascendingOrder}\r\n onOrderByChanged={this.onOrderByChange}\r\n onSearchDirectionChange={this.onOrderChange}\r\n orderByValues={orderByValues.map(obv => obv)}\r\n renderChips={this.renderChips}\r\n resultCount={searchResult.resultCount}\r\n searchOrderBy={selectedOrderByValue}\r\n ></SearchResultView>\r\n </Col>\r\n </Row>\r\n </div>\r\n );\r\n }\r\n\r\n private renderChips = () => {\r\n const { yearStart, yearEnd } = this.state;\r\n return (\r\n /*Same order as filters*/\r\n <React.Fragment>\r\n {this.state.searchTerms.map((searchTerm, index) => {\r\n return (\r\n <SearchChip title={searchTerm} icon={IconType.Search} key={\"chip_searchTerm_\" + index} onClick={() => this.removeSearchTerm(index)}>\r\n {searchTerm}\r\n </SearchChip>\r\n );\r\n })}\r\n {this.state.titles.map((title, index) => {\r\n return (\r\n <SearchChip icon={IconType.Search} title={removeNewline(title, \" \")} key={\"chip_ttl_\" + index} onClick={() => this.removeTitle(index)}>\r\n {removeNewline(title, \" \")}\r\n </SearchChip>\r\n );\r\n })}\r\n {this.state.popularTitles.map((popularTitle, index) => {\r\n return (\r\n <SearchChip icon={IconType.Search} key={\"chip_pttl_\" + index} onClick={() => this.removePopularTitle(index)}>\r\n {removeNewline(popularTitle, \" \")}\r\n </SearchChip>\r\n );\r\n })}\r\n {this.state.documentNumberRange && (\r\n <SearchChip icon={IconType.Hashtag} onClick={() => this.removeDocumentNumberRange()}>\r\n Nr: {this.state.documentNumberRange}\r\n </SearchChip>\r\n )}\r\n {this.state.documentTypeList.map((docType: ICollapsableTreeNode, index: number) => {\r\n return (\r\n docType.checked && (\r\n <SearchChip icon={IconType.BookReader} key={\"chip_doctype_\" + index} onClick={this.onDocTypeChipRemove(docType)}>\r\n {docType.label}\r\n </SearchChip>\r\n )\r\n );\r\n })}\r\n {this.isYearFilterChipVisible() && (\r\n <SearchChip icon={IconType.CalendarAlt} onClick={this.onYearChipRemove}>\r\n År: {yearStart}-{yearEnd}\r\n </SearchChip>\r\n )}\r\n {this.state.historicalRessort.map((historicalRessort, index: number) => {\r\n return (\r\n <SearchChipHistory icon={IconType.City} key={\"chip_hr_\" + index} onClick={() => this.removeHistoricalRessort(index)}>\r\n {this.props.getRessortName(historicalRessort)}\r\n </SearchChipHistory>\r\n );\r\n })}\r\n {this.state.ressortList.map((ressortParent: ICollapsableTreeNode, indexParent: number) => {\r\n return (\r\n ressortParent.checked && (\r\n <SearchChip icon={IconType.City} key={\"chip_ressort_\" + indexParent} onClick={this.onRessortChipRemove(ressortParent)}>\r\n {ressortParent.label}\r\n </SearchChip>\r\n )\r\n );\r\n })}\r\n {this.state.tagsList.keywords.map((tag: IKeyword, index: number) => {\r\n return (\r\n tag.checked && (\r\n <SearchChip icon={IconType.Font} key={\"chip_tag_\" + index} onClick={this.onTagChipRemove(this.state.tagsList.id, tag)}>\r\n {tag.label}\r\n </SearchChip>\r\n )\r\n );\r\n })}\r\n </React.Fragment>\r\n );\r\n };\r\n\r\n private removeSearchTerm = (index: number) => {\r\n this.state.searchTerms.splice(index, 1);\r\n this.setState({ searchTerms: this.state.searchTerms, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private removeTitle = (index: number) => {\r\n this.state.titles.splice(index, 1);\r\n this.setState({ titles: this.state.titles, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private removePopularTitle = (index: number) => {\r\n this.state.popularTitles.splice(index, 1);\r\n this.setState({ popularTitles: this.state.popularTitles, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private removeDocumentNumberRange = () => {\r\n this.setState({ documentNumberRange: \"\", activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onSearchButtonClicked = (searchTerm: string, skipNumberYearMatch: boolean = false) => {\r\n const trimmedSearchTerm = searchTerm.trim();\r\n if (!trimmedSearchTerm) {\r\n return;\r\n }\r\n\r\n if (!skipNumberYearMatch) {\r\n const numberYearMatch = trimmedSearchTerm.match(numberAndYearRegExp);\r\n const numberMatches = trimmedSearchTerm.match(allNumbersRegExp);\r\n\r\n if (numberYearMatch !== null) {\r\n this.onYearAndNumberMatchClicked(numberYearMatch[1], numberYearMatch[8]);\r\n return;\r\n } else if (numberMatches !== null && typeof numberMatches !== \"undefined\") {\r\n var validYearsMatch = searchTerm.match(validYearsRegExp);\r\n var year = validYearsMatch && numberMatches.length !== 1 ? validYearsMatch[validYearsMatch.length - 1].replace(/\\D/, \"\") : null;\r\n var num = numberMatches.find(x => x !== year) || \"\";\r\n this.onYearAndNumberMatchClicked(num, year);\r\n return;\r\n }\r\n }\r\n\r\n if (!this.state.searchTerms.some(t => t === trimmedSearchTerm)) {\r\n this.state.searchTerms.push(trimmedSearchTerm);\r\n }\r\n\r\n this.setState(\r\n {\r\n currentSearchTerm: \"\",\r\n searchTerms: this.state.searchTerms,\r\n liveSearchState: defaultLiveSearchState,\r\n activePage: 0,\r\n },\r\n this.setParamsAndSearch\r\n );\r\n };\r\n\r\n private onLiveSearchTermChange = (rawSearchTerm: string, forceSeach: boolean) => {\r\n const trimmedSearchTerm = rawSearchTerm.trim();\r\n const newLiveSearchState: ILiveSearchState = { liveSearchTerm: trimmedSearchTerm, hits: [], staticLiveSearchItemsCount: 0 };\r\n let counter = 0; // counter for static live search items\r\n\r\n const numberMatches = rawSearchTerm.match(allNumbersRegExp);\r\n if (numberMatches === null && trimmedSearchTerm.length < 3) {\r\n this.setState({ currentSearchTerm: rawSearchTerm, liveSearchState: newLiveSearchState });\r\n return;\r\n }\r\n\r\n // If only different in spaces and not forceSeach, update state but dont do livesearch request\r\n if (trimmedSearchTerm === this.state.currentSearchTerm.trim() && !forceSeach) {\r\n this.setState({ currentSearchTerm: rawSearchTerm });\r\n return;\r\n }\r\n\r\n const numberYearMatch = rawSearchTerm.match(numberAndYearRegExp);\r\n if (numberYearMatch !== null) {\r\n const buildText = getNumberAndYearText(numberYearMatch);\r\n\r\n newLiveSearchState.hits.push({\r\n text: buildText,\r\n onClick: () => this.onYearAndNumberMatchClicked(numberYearMatch[1], numberYearMatch[8]),\r\n aria: \"Klik her for at \" + buildText.replace(\"Søg\", \"søge\"),\r\n icon: IconType.Hashtag,\r\n });\r\n counter++;\r\n } else if (numberMatches !== null && typeof numberMatches !== \"undefined\") {\r\n var validYearsMatch = rawSearchTerm.match(validYearsRegExp);\r\n var year = validYearsMatch && numberMatches.length !== 1 ? validYearsMatch[validYearsMatch.length - 1].replace(/\\D/, \"\") : null;\r\n var num = numberMatches.find(x => x !== year) || \"\";\r\n\r\n const buildText = getNumberText(num) + getYearText(year);\r\n newLiveSearchState.hits.push({\r\n text: buildText,\r\n onClick: () => this.onYearAndNumberMatchClicked(num, year),\r\n aria: \"Klik her for at \" + buildText.replace(\"Søg\", \"søge\"),\r\n icon: IconType.Hashtag,\r\n });\r\n counter++;\r\n }\r\n\r\n if (trimmedSearchTerm.length >= 3) {\r\n const quoteDelimited: RegExp = /\"[^\"]+\"$/;\r\n\r\n if (quoteDelimited.test(trimmedSearchTerm)) {\r\n newLiveSearchState.hits.push({\r\n text: \"Søg efter nøjagtigt udtryk <strong>\" + trimmedSearchTerm + \"</strong>\",\r\n onClick: () => this.onSearchButtonClicked(trimmedSearchTerm, true),\r\n aria: \"Klik her for at søge efter nøjagtigt udtryk \" + trimmedSearchTerm,\r\n });\r\n counter++;\r\n } else {\r\n newLiveSearchState.hits.push({\r\n text: \"Søg efter <strong>\" + trimmedSearchTerm + \"</strong>\",\r\n onClick: () => this.onSearchButtonClicked(trimmedSearchTerm, true),\r\n aria: \"Klik her for at søge efter \" + trimmedSearchTerm,\r\n });\r\n counter++;\r\n\r\n newLiveSearchState.hits.push({\r\n text: 'Søg efter nøjagtigt udtryk \"<strong>' + trimmedSearchTerm + '</strong>\"',\r\n onClick: () => this.onSearchButtonClicked('\"' + trimmedSearchTerm + '\"', true),\r\n aria: \"Klik her for at søge efter nøjagtigt udtryk \" + trimmedSearchTerm,\r\n });\r\n counter++;\r\n }\r\n }\r\n // update the static live search items counter\r\n newLiveSearchState.staticLiveSearchItemsCount = counter;\r\n this.setState(\r\n {\r\n currentSearchTerm: rawSearchTerm,\r\n liveSearchState: newLiveSearchState,\r\n },\r\n () => this.doLiveSearchDebounced(newLiveSearchState)\r\n );\r\n };\r\n\r\n private doLiveSearchDebounced = debounce(this.doLiveSearch, 200);\r\n\r\n private doLiveSearch(lst: ILiveSearchState) {\r\n var parameterString;\r\n if (this.props.paramsString) parameterString = this.props.paramsString + \"&q=\" + lst.liveSearchTerm;\r\n else parameterString = \"q=\" + lst.liveSearchTerm;\r\n\r\n apiGET<LiveSearchHitDto[]>(\"api/document/search/matching\", {\r\n params: qs.parse(parameterString),\r\n paramsSerializer: (p: object) => qs.stringify(p),\r\n }).then(result => {\r\n if (this.state.currentSearchTerm !== lst.liveSearchTerm) {\r\n return;\r\n }\r\n const searchForSearchTermItm = lst.hits.slice(0, lst.staticLiveSearchItemsCount);\r\n const hits: ILiveResultItemProps[] = result.map((hit: LiveSearchHitDto) => ({\r\n text: `${hit.value.replace(/\\\\n/g, \"<br />\")}`,\r\n count: 0,\r\n icon: IconType.Search,\r\n onClick: () => this.addLiveSearchTerm(hit),\r\n label: hit.field === MatchField.Title ? \"(titel)\" : \"(populærtitel)\",\r\n template: LiveResultTemplateEnum.DOUBLE_LINE_WITH_LABEL,\r\n aria: \"Klik her for at søge efter dokumenter med \" + (hit.field === MatchField.Title ? \"titlen\" : \"populærtitlen\") + \": \" + hit.value,\r\n }));\r\n this.setState({ liveSearchState: { ...lst, hits: [...searchForSearchTermItm, ...hits] } });\r\n });\r\n }\r\n\r\n public addLiveSearchTerm = (hit: LiveSearchHitDto) => {\r\n const stateKey: keyof IDocumentSearchParamsState = hit.field === MatchField.Title ? \"titles\" : \"popularTitles\";\r\n const arr = this.state[stateKey];\r\n if (!arr.some(t => t === hit.value)) {\r\n arr.push(hit.value);\r\n }\r\n this.setState({ currentSearchTerm: \"\", liveSearchState: defaultLiveSearchState, ...{ [stateKey]: arr }, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onYearAndNumberMatchClicked = (num: string, year: string | null) => {\r\n if (year != null) {\r\n this.setState(\r\n {\r\n yearStart: +year,\r\n yearEnd: +year,\r\n yearStartTmp: +year,\r\n yearEndTmp: +year,\r\n documentNumberRange: num,\r\n liveSearchState: defaultLiveSearchState,\r\n currentSearchTerm: \"\",\r\n activePage: 0,\r\n },\r\n this.setParamsAndSearch\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n yearStart: +yearLow,\r\n yearEnd: +yearHigh,\r\n yearStartTmp: +yearLow,\r\n yearEndTmp: +yearHigh,\r\n documentNumberRange: num,\r\n liveSearchState: defaultLiveSearchState,\r\n currentSearchTerm: \"\",\r\n activePage: 0,\r\n },\r\n this.setParamsAndSearch\r\n );\r\n }\r\n };\r\n\r\n private onPageChange = (newPage: number) => {\r\n this.setState({ activePage: newPage - 1 }, this.setParamsAndSearch);\r\n this.scrollToTop();\r\n };\r\n\r\n private onPageSizeChange = (newPageSize: number) => {\r\n this.setState({ activePageSize: newPageSize, activePage: 0 }, this.setParamsAndSearch);\r\n this.scrollToTop();\r\n };\r\n\r\n private scrollToTop() {\r\n const scrollHere = document.getElementById(\"scroll-here\")!;\r\n window.getComputedStyle(scrollHere).display === \"none\" ? window.scrollTo(0, 0) : scrollHere.scrollIntoView();\r\n }\r\n\r\n private removeHistoricalRessort = (index: number) => {\r\n this.state.historicalRessort.splice(index, 1);\r\n this.setState({ historicalRessort: this.state.historicalRessort, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onYearChange = (yearStart: number, yearEnd: number) => {\r\n if (\r\n this.state.yearStart !== yearStart ||\r\n this.state.yearEnd !== yearEnd ||\r\n this.state.yearStart !== this.state.yearStartTmp ||\r\n this.state.yearEnd !== this.state.yearEndTmp\r\n ) {\r\n this.setState({ yearStart, yearStartTmp: yearStart, yearEnd, yearEndTmp: yearEnd, activePage: 0 }, this.setParamsAndSearch);\r\n }\r\n };\r\n\r\n private onYearStartChange = (year: number) => {\r\n this.setState({ yearStartTmp: isNaNOrEmptyString(year) ? \"\" : year });\r\n if (!isNaNOrEmptyString(year)) {\r\n const startClamped = clampYear(year);\r\n if (startClamped === year) {\r\n const end = this.state.yearEnd > startClamped ? this.state.yearEnd : startClamped;\r\n this.onYearChange(startClamped, end);\r\n }\r\n }\r\n };\r\n\r\n private onYearEndChange = (year: number) => {\r\n this.setState({ yearEndTmp: isNaNOrEmptyString(year) ? \"\" : year });\r\n if (!isNaNOrEmptyString(year)) {\r\n const endClamped = clampYear(year);\r\n if (endClamped === year) {\r\n const start = this.state.yearStart < endClamped ? this.state.yearStart : endClamped;\r\n this.onYearChange(start, endClamped);\r\n }\r\n }\r\n };\r\n\r\n private onYearStartBlur = (year: number) => {\r\n if (isNaNOrEmptyString(year) || year < yearLow || year > yearHigh) {\r\n this.onYearChange(yearLow, this.state.yearEnd);\r\n }\r\n };\r\n\r\n private onYearEndBlur = (year: number) => {\r\n if (isNaNOrEmptyString(year) || year < yearLow || year > yearHigh) {\r\n this.onYearChange(this.state.yearStart, yearHigh);\r\n }\r\n };\r\n\r\n private handleKeywordChecked = (sectionId: string, keywordId: string) => {\r\n updateKeywordOnChecked(sectionId, keywordId, [this.state.tagsList]);\r\n this.setState({ tagsList: this.state.tagsList, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onRessortFilterChange = (selectedNode: ICollapsableTreeNode) => {\r\n toggleNodeCheckedAndUpdate(selectedNode, this.state.ressortList);\r\n this.setState({ ressortList: this.state.ressortList, ressortFilterIsOpen: true, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onDocTypeFilterChange = (selectedNode: ICollapsableTreeNode) => {\r\n toggleNodeCheckedAndUpdate(selectedNode, this.state.documentTypeList);\r\n this.setState({ documentTypeList: this.state.documentTypeList, activePage: 0 }, this.setParamsAndSearch);\r\n };\r\n\r\n private onArrowClick = (selectedNode: ICollapsableTreeNode) => {\r\n updateOnArrowClick(selectedNode, this.state.ressortList);\r\n this.setState({ ressortList: this.state.ressortList }, this.setParamsAndSearch);\r\n };\r\n\r\n private onArrowClickDocType = (selectedNode: ICollapsableTreeNode) => {\r\n updateOnArrowClick(selectedNode, this.state.documentTypeList);\r\n this.setState({ documentTypeList: this.state.documentTypeList });\r\n };\r\n\r\n private ClearSearch = () => {\r\n const clearedRessortFilters = this.clearAllRessortFilters();\r\n const clearedDocTypeFilters = this.clearAllDocTypeFilters();\r\n const clearedTagFilter = this.clearAllTagFilters();\r\n\r\n this.setState(\r\n {\r\n yearStart: yearLow,\r\n yearEnd: yearHigh,\r\n yearStartTmp: yearLow,\r\n yearEndTmp: yearHigh,\r\n ressortList: clearedRessortFilters,\r\n historicalRessort: [],\r\n documentTypeList: clearedDocTypeFilters,\r\n tagsList: clearedTagFilter,\r\n searchTerms: [],\r\n documentNumberRange: \"\",\r\n activePage: 0,\r\n ascendingOrder: defaultParams.d,\r\n selectedOrderByValue: orderByValues[0],\r\n titles: [],\r\n popularTitles: [],\r\n },\r\n this.setParamsAndSearch\r\n );\r\n };\r\n\r\n private clearAllRessortFilters = () => {\r\n this.state.ressortList.forEach(filter => (filter.checked = false));\r\n return this.state.ressortList;\r\n };\r\n\r\n private clearAllTagFilters = () => {\r\n this.state.tagsList.keywords.forEach(tag => (tag.checked = false));\r\n return this.state.tagsList;\r\n };\r\n\r\n private clearAllDocTypeFilters = () => {\r\n this.state.documentTypeList.forEach(filter => {\r\n if (!filter.noCheckBox) {\r\n filter.checked = false;\r\n }\r\n });\r\n return this.state.documentTypeList;\r\n };\r\n\r\n private onYearChipRemove = () => {\r\n this.setState(\r\n {\r\n yearStart: defaultParams.yl,\r\n yearEnd: defaultParams.yh,\r\n yearStartTmp: defaultParams.yl,\r\n yearEndTmp: defaultParams.yh,\r\n activePage: 0,\r\n },\r\n this.setParamsAndSearch\r\n );\r\n };\r\n\r\n private isYearFilterChipVisible = () => !(this.state.yearStart === yearLow && this.state.yearEnd === yearHigh);\r\n\r\n private setParamsAndSearch() {\r\n const {\r\n activePage,\r\n activePageSize,\r\n ascendingOrder,\r\n selectedOrderByValue,\r\n yearStart,\r\n yearEnd,\r\n ressortList,\r\n documentTypeList,\r\n historicalRessort,\r\n tagsList,\r\n searchTerms,\r\n documentNumberRange,\r\n titles,\r\n popularTitles,\r\n } = this.state;\r\n\r\n const params: Partial<DocumentSearchParams> = {};\r\n\r\n if (activePage !== defaultParams.page) {\r\n params.page = activePage;\r\n }\r\n\r\n if (activePageSize !== PageSize.Ten) {\r\n params.ps = activePageSize;\r\n }\r\n\r\n if (ascendingOrder) {\r\n params.d = ascendingOrder;\r\n }\r\n\r\n if (selectedOrderByValue && selectedOrderByValue.key !== defaultParams.o) {\r\n params.o = selectedOrderByValue.key;\r\n }\r\n\r\n if (yearStart !== defaultParams.yl) {\r\n params.yl = yearStart;\r\n }\r\n\r\n if (yearEnd !== defaultParams.yh) {\r\n params.yh = yearEnd;\r\n }\r\n\r\n if (ressortList.some(ressorter => ressorter.checked)) {\r\n params.r = ressortList.filter(ressorter => ressorter.checked).map(r => r.value);\r\n }\r\n\r\n if (tagsList.keywords.some(tag => tag.checked)) {\r\n params.e = tagsList.keywords.filter(tag => tag.checked).map(e => e.id);\r\n }\r\n\r\n if (documentTypeList.some(docType => docType.checked)) {\r\n params.dt = documentTypeList\r\n .filter(docType => docType.checked)\r\n .filter(docType => !docType.noCheckBox)\r\n .map(docType => docType.value);\r\n }\r\n\r\n if (documentNumberRange !== \"\") {\r\n params.dnr = documentNumberRange;\r\n }\r\n\r\n if (searchTerms.length > 0) {\r\n params.t = searchTerms;\r\n }\r\n\r\n if (titles.length > 0) {\r\n params.ttl = titles;\r\n }\r\n\r\n if (popularTitles.length > 0) {\r\n params.pttl = popularTitles;\r\n }\r\n\r\n const hr = historicalRessort.filter(r => !!r);\r\n if (hr.length > 0) {\r\n params.hr = hr;\r\n }\r\n\r\n const paramsString = qs.stringify(params);\r\n const paramsQuery = `?${paramsString}`;\r\n this.props.history.replace(paramsString ? paramsQuery : this.props.history.location.pathname);\r\n this.doSearch(paramsQuery);\r\n this.props.setParams(paramsQuery === \"?\" ? \"\" : paramsQuery);\r\n // Force update on liveseach\r\n if (this.state.currentSearchTerm) this.onLiveSearchTermChange(this.state.currentSearchTerm, true);\r\n }\r\n\r\n private doSearch(paramsString: string) {\r\n apiGET<IDocumentSearchResult>(\"api/document/search\", {\r\n params: qs.parse(paramsString),\r\n paramsSerializer: (p: object) => qs.stringify(p),\r\n }).then(response => {\r\n this.setState({ searchResult: response });\r\n });\r\n\r\n apiGET<{ [k: string]: number | undefined }>(\"api/document/search/countdocumenttype\", {\r\n params: qs.parse(paramsString),\r\n paramsSerializer: (p: object) => qs.stringify(p),\r\n }).then(response => {\r\n this.state.documentTypeList.forEach(docType => (docType.count = response[docType.value] || 0));\r\n\r\n this.setState({\r\n documentTypeList: this.state.documentTypeList,\r\n });\r\n });\r\n }\r\n\r\n private getRessortFilters(resorts: IRessort[]): ICollapsableTreeNode[] {\r\n return resorts.map(resort => {\r\n return {\r\n value: resort.id,\r\n label: resort.name,\r\n checked: this.props.paramsOrDefaults.r.some(r => r === resort.id),\r\n children: undefined,\r\n isOpen: false,\r\n indeterminate: undefined,\r\n isChild: false,\r\n };\r\n });\r\n }\r\n\r\n private getTagFilters(tags: ITag[]): IKeywordSection {\r\n var tagFilter: IKeywordSection = { id: \"keywords\", label: \"\", keywords: [] };\r\n tags.forEach((tag, index) => {\r\n tagFilter.keywords[index] = {\r\n key: tag.key,\r\n label: tag.label,\r\n id: tag.id,\r\n checked: this.props.paramsOrDefaults.e.some(e => e === tag.id),\r\n };\r\n });\r\n return tagFilter;\r\n }\r\n\r\n private getDocTypeFilters(documentTypeFilterData: any[]): ICollapsableTreeNode[] {\r\n const docTypeFilter: ICollapsableTreeNode[] = [];\r\n\r\n documentTypeFilterData.forEach((node: ICollapsableTreeNode, index: number) => {\r\n docTypeFilter[index] = {\r\n value: node.value,\r\n label: node.label,\r\n isChild: false,\r\n checked: this.props.paramsOrDefaults.dt.some(dt => dt === node.value),\r\n isOpen: false,\r\n noCheckBox: node.noCheckBox ? node.noCheckBox : false,\r\n };\r\n });\r\n\r\n return docTypeFilter;\r\n }\r\n\r\n private onRessortChipRemove = (selectedNode: ICollapsableTreeNode) => () => {\r\n this.onRessortFilterChange(selectedNode);\r\n };\r\n\r\n private onDocTypeChipRemove = (selectedNode: ICollapsableTreeNode) => () => {\r\n this.onDocTypeFilterChange(selectedNode);\r\n };\r\n\r\n private onTagChipRemove = (sectionId: string, tag: IKeyword) => () => {\r\n this.handleKeywordChecked(sectionId, tag.id);\r\n };\r\n}\r\n\r\nexport default connect(\r\n ({ documentSearch, ressorter, aargange, tags }: AppState, ownProps: IDocumentsContainerProps): IDocumentsContainerProps => {\r\n return {\r\n ...ownProps,\r\n paramsString: documentSearch.params,\r\n paramsOrDefaults: documentSearch.parseWithDefaults(defaultParams),\r\n ressorter: ressorter,\r\n getRessortName: aargange.getRessortName,\r\n tags: tags,\r\n };\r\n },\r\n dispatch =>\r\n bindActionCreators(\r\n {\r\n ...DocumentSearchActions,\r\n ...RessortActions,\r\n ...AargangeActions,\r\n ...TagActions,\r\n },\r\n dispatch\r\n )\r\n)(DocumentsContainer);\r\n","import { IOrderByValue } from \"@lexdania/components/build/lib/components/search/models/SearchModels\";\r\n\r\nexport enum OrderByKey {\r\n Underskrift = 10,\r\n Titel = 20,\r\n Ministerium = 30,\r\n NummerOgAar = 40,\r\n Rank = 50,\r\n Offentliggoerelse = 80,\r\n}\r\n\r\nexport const orderByValues: ReadonlyArray<IOrderByValue> = [\r\n { text: \"Relevans\", key: OrderByKey.Rank, hasOrderDirection: false, isDefaultDirectionAscending: false },\r\n { text: \"Offentliggørelsesdato\", key: OrderByKey.Offentliggoerelse, hasOrderDirection: true, isDefaultDirectionAscending: false },\r\n { text: \"Forskriftens nr. / år\", key: OrderByKey.NummerOgAar, hasOrderDirection: true, isDefaultDirectionAscending: false },\r\n { text: \"Ministerium\", key: OrderByKey.Ministerium, hasOrderDirection: true, isDefaultDirectionAscending: true },\r\n { text: \"Titel\", key: OrderByKey.Titel, hasOrderDirection: true, isDefaultDirectionAscending: true },\r\n { text: \"Underskriftdato\", key: OrderByKey.Underskrift, hasOrderDirection: true, isDefaultDirectionAscending: false },\r\n];\r\n","export enum MatchField {\r\n Title = 1,\r\n PopularTitle = 2,\r\n}\r\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport { createLocation } from \"history\";\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware <a>.\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, [\"replace\", \"to\", \"innerRef\"]); // eslint-disable-line no-unused-vars\n\n invariant(this.context.router, \"You should not use <Link> outside a <Router>\");\n\n invariant(to !== undefined, 'You must specify the \"to\" property');\n\n var history = this.context.router.history;\n\n var location = typeof to === \"string\" ? createLocation(to, null, null, history.location) : to;\n\n var href = history.createHref(location);\n return React.createElement(\"a\", _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(React.Component);\n\nLink.propTypes = {\n onClick: PropTypes.func,\n target: PropTypes.string,\n replace: PropTypes.bool,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func])\n};\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired,\n createHref: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\nexport default Link;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nvar _excluded = [\"active\", \"aria-label\", \"block\", \"className\", \"close\", \"cssModule\", \"color\", \"outline\", \"size\", \"tag\", \"innerRef\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n active: PropTypes.bool,\n 'aria-label': PropTypes.string,\n block: PropTypes.bool,\n color: PropTypes.string,\n disabled: PropTypes.bool,\n outline: PropTypes.bool,\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n onClick: PropTypes.func,\n size: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n close: PropTypes.bool\n};\nvar defaultProps = {\n color: 'secondary',\n tag: 'button'\n};\n\nvar Button = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Button, _React$Component);\n\n function Button(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = Button.prototype;\n\n _proto.onClick = function onClick(e) {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.onClick) {\n return this.props.onClick(e);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n ariaLabel = _this$props['aria-label'],\n block = _this$props.block,\n className = _this$props.className,\n close = _this$props.close,\n cssModule = _this$props.cssModule,\n color = _this$props.color,\n outline = _this$props.outline,\n size = _this$props.size,\n Tag = _this$props.tag,\n innerRef = _this$props.innerRef,\n attributes = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n if (close && typeof attributes.children === 'undefined') {\n attributes.children = /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true\n }, \"\\xD7\");\n }\n\n var btnOutlineColor = \"btn\" + (outline ? '-outline' : '') + \"-\" + color;\n var classes = mapToCssModules(classNames(className, {\n close: close\n }, close || 'btn', close || btnOutlineColor, size ? \"btn-\" + size : false, block ? 'btn-block' : false, {\n active: active,\n disabled: this.props.disabled\n }), cssModule);\n\n if (attributes.href && Tag === 'button') {\n Tag = 'a';\n }\n\n var defaultAriaLabel = close ? 'Close' : null;\n return /*#__PURE__*/React.createElement(Tag, _extends({\n type: Tag === 'button' && attributes.onClick ? 'button' : undefined\n }, attributes, {\n className: classes,\n ref: innerRef,\n onClick: this.onClick,\n \"aria-label\": ariaLabel || defaultAriaLabel\n }));\n };\n\n return Button;\n}(React.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\nexport default Button;","/**\n * A function that emits a side effect and does not return anything.\n */\nexport type Procedure = (...args: any[]) => void;\n\nexport type Options = {\n isImmediate: boolean,\n}\n\nexport function debounce<F extends Procedure>(\n func: F,\n waitMilliseconds = 50,\n options: Options = {\n isImmediate: false\n },\n): F {\n let timeoutId: NodeJS.Timeout | undefined;\n\n return function(this: any, ...args: any[]) {\n const context = this;\n\n const doLater = function() {\n timeoutId = undefined;\n if (!options.isImmediate) {\n func.apply(context, args);\n }\n }\n\n const shouldCallNow = options.isImmediate && timeoutId === undefined;\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n\n timeoutId = setTimeout(doLater, waitMilliseconds);\n\n if (shouldCallNow) {\n func.apply(context, args);\n }\n } as any\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}"],"names":["_excluded","propTypes","children","PropTypes","type","size","bsSize","valid","invalid","tag","tagPropType","innerRef","plaintext","addon","className","cssModule","Input","_React$Component","props","_this","call","this","getRef","bind","_assertThisInitialized","focus","_inheritsLoose","_proto","prototype","ref","render","_this$props","attributes","_objectWithoutPropertiesLoose","checkInput","indexOf","isNotaNumber","RegExp","Tag","formControlClass","test","warnOnce","classes","mapToCssModules","classNames","React","_extends","defaultProps","documentTypeFilterData","value","label","noCheckBox","_slicedToArray","arr","i","Array","isArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","push","length","err","unsupportedIterableToArray","TypeError","node","Portal","apply","arguments","componentWillUnmount","defaultNode","document","body","removeChild","canUseDOM","createElement","appendChild","ReactDOM","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","noop","FadePropTypes","Fade","isOpen","autoFocus","centered","scrollable","toggle","keyboard","role","labelledBy","backdrop","onEnter","onExit","onOpened","onClosed","wrapClassName","modalClassName","backdropClassName","contentClassName","external","fade","zIndex","backdropTransition","modalTransition","unmountOnClose","returnFocusAfterClose","container","targetPropType","trapFocus","propsToOmit","timeout","TransitionTimeouts","mountOnEnter","Modal","_element","_originalBodyPadding","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleStaticBackdropAnimation","handleTab","manageFocusAfterClose","clearBackdropAnimationTimeout","state","showStaticBackdropAnimation","componentDidMount","init","setState","setFocus","addEventListener","_isMounted","componentDidUpdate","prevProps","prevState","style","destroy","close","removeEventListener","ev","_dialog","parentNode","modalIndex","openCount","preventDefault","stopPropagation","isAppearing","onEntered","onExited","querySelectorAll","focusableElements","getFocusedChild","currentFocus","focusableChildren","activeElement","e","_mouseDownElement","which","totalFocusable","focusedIndex","shiftKey","keyCode","keyCodes","_this2","_backdropAnimationTimeout","setTimeout","_triggeringElement","setAttribute","position","_mountContainer","getTarget","getOriginalBodyPadding","conditionallyUpdateScrollbar","modalOpenClassName","modalOpenClassNameRegex","replace","trim","Math","max","setScrollbarWidth","renderModalDialog","_classNames","_this3","omit","dialogBaseClass","c","isModalHidden","display","_this$props2","modalAttributes","onClick","onMouseDown","onKeyUp","onKeyDown","tabIndex","hasTransition","baseClass","Backdrop","in","clearTimeout","undefined","wrapTag","closeAriaLabel","charCode","ModalHeader","closeButton","WrapTag","closeIcon","String","fromCharCode","ModalBody","ModalFooter","connect","ownProps","notes","reprintNotes","dispatch","bindActionCreators","ReprintInformationActions","toggleModal","getReprintNotes","docId","shortName","title","ressort","map","note","index","Row","Col","date","classname","href","reprintOfId","Icon","icon","IconType","iconSize","dangerouslySetInnerHTML","__html","Button","color","nlToBr","str","split","elmsArr","flatMap","s","pop","d","showReprintNotes","setShowReprintNotes","toggleReprintNotes","Container","ressortName","id","lg","isReprint","offentliggoerelsesDato","popularTitle","retsinfoLink","rel","numberAndYearRegExp","allNumbersRegExp","validYearsRegExp","removeNewline","replaceWith","defaultLiveSearchState","liveSearchTerm","hits","staticLiveSearchItemsCount","yearLow","yearHigh","defaultParams","page","ps","PageSize","yh","yl","o","orderByValues","r","EmptyStringArray","hr","dt","dnr","t","ttl","pttl","isNaNOrEmptyString","numOrEmptyString","Number","isNaN","clampYear","year","min","getNumberText","number","getYearText","getNumberAndYearText","buildText","paramsToDspState","dsp","activePage","activePageSize","selectedOrderByValue","obv","ascendingOrder","yearStart","yearEnd","historicalRessort","documentNumberRange","searchTerms","titles","popularTitles","DocumentsContainer","searchResult","pageCount","documents","resultCount","paramsOrDefaults","ressortList","builtFilters","documentTypeList","tagsList","keywords","yearStartTmp","yearEndTmp","currentSearchTerm","liveSearchState","ressortFilterIsOpen","onOrderByChange","isDefaultDirectionAscending","setParamsAndSearch","onOrderChange","renderChips","searchTerm","SearchChip","removeSearchTerm","removeTitle","removePopularTitle","removeDocumentNumberRange","docType","checked","onDocTypeChipRemove","isYearFilterChipVisible","onYearChipRemove","SearchChipHistory","removeHistoricalRessort","getRessortName","ressortParent","indexParent","onRessortChipRemove","onTagChipRemove","splice","onSearchButtonClicked","skipNumberYearMatch","trimmedSearchTerm","numberYearMatch","match","numberMatches","onYearAndNumberMatchClicked","validYearsMatch","num","find","x","some","onLiveSearchTermChange","rawSearchTerm","forceSeach","newLiveSearchState","counter","text","aria","doLiveSearchDebounced","debounce","doLiveSearch","addLiveSearchTerm","hit","stateKey","field","MatchField","onPageChange","newPage","scrollToTop","onPageSizeChange","newPageSize","onYearChange","onYearStartChange","startClamped","end","onYearEndChange","endClamped","start","onYearStartBlur","onYearEndBlur","handleKeywordChecked","sectionId","keywordId","updateKeywordOnChecked","onRessortFilterChange","selectedNode","toggleNodeCheckedAndUpdate","onDocTypeFilterChange","onArrowClick","updateOnArrowClick","onArrowClickDocType","ClearSearch","clearedRessortFilters","clearAllRessortFilters","clearedDocTypeFilters","clearAllDocTypeFilters","clearedTagFilter","clearAllTagFilters","initFiltersAndSearch","getRessorter","getAargange","getTags","paramsString","location","search","setParams","history","ressorter","tags","stateFromParams","getRessortFilters","getDocTypeFilters","getTagFilters","Card","LiveSearch","onChange","data","searchPlaceHolder","buttonStyle","autofocus","Link","to","CollapsibleBox","heading","CollapsableTree","listOfNodes","activeTreeStructure","DoubleSlider","defaultValueLow","defaultValueHigh","onChanged","parseFloat","currentTarget","onBlur","Keyword","keywordSections","SearchResultView","searchResultItems","renderItem","searchResultItem","isSearchDirectionAscending","onOrderByChanged","onSearchDirectionChange","searchOrderBy","lst","parameterString","apiGET","params","qs","paramsSerializer","p","then","result","searchForSearchTermItm","slice","count","template","LiveResultTemplateEnum","scrollHere","getElementById","window","getComputedStyle","scrollTo","scrollIntoView","paramsQuery","pathname","doSearch","response","resorts","resort","name","indeterminate","isChild","tagFilter","docTypeFilter","documentSearch","aargange","parseWithDefaults","DocumentSearchActions","RessortActions","AargangeActions","TagActions","OrderByKey","Rank","hasOrderDirection","Offentliggoerelse","NummerOgAar","Ministerium","Titel","Underskrift","assign","hasOwnProperty","_classCallCheck","instance","Constructor","_possibleConstructorReturn","self","ReferenceError","isModifiedEvent","event","metaKey","altKey","ctrlKey","_temp","_len","args","_key","concat","handleClick","defaultPrevented","button","context","router","subClass","superClass","create","constructor","writable","configurable","setPrototypeOf","__proto__","_inherits","_props","obj","_objectWithoutProperties","invariant","createLocation","createHref","isRequired","contextTypes","active","block","disabled","outline","ariaLabel","btnOutlineColor","defaultAriaLabel","func","waitMilliseconds","options","timeoutId","isImmediate","shouldCallNow"],"sourceRoot":""}