{"version":3,"file":"static/chunks/8221-d16c69dc98b14c43.js","mappings":"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","sources":["webpack://_N_E/./src/compliance/components/CompliAssist/SearchFilters/TagTile.js","webpack://_N_E/./src/compliance/utils/index.js","webpack://_N_E/./styles/utilities/searchFilters.js","webpack://_N_E/./utils/isObjectEmpty.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchFilters/Buttons/AddSavedSearch.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchFilters/Buttons/index.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchFilters/index.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchFilters/style.js","webpack://_N_E/./src/pdf/templates/compliance.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchResults/PageButtons/style.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchResults/PageButtons/index.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchResults/SearchResultsAccordion/index.js","webpack://_N_E/./src/compliance/components/CompliAssist/SearchResults/index.js","webpack://_N_E/./styles/utilities/index.js","webpack://_N_E/./src/shared/components/Pagination.js","webpack://_N_E/./src/shared/components/Table.js","webpack://_N_E/./utils/detectBrowser.js"],"sourcesContent":["import { Tag, Tooltip } from 'antd';\nimport React from 'react';\n\nimport style from './style';\n\nconst TagTile = props => {\n const { tag, tagClose } = props;\n const { children, value, input } = tag;\n const childrenStr = children.toString();\n const isLongTag = childrenStr.length > 20;\n\n const tagNode = (\n tagClose(e, value, input)}\n >\n {isLongTag ? `${childrenStr.slice(0, 20)}...` : childrenStr}\n \n );\n\n return isLongTag ? (\n \n {tagNode}\n \n ) : (\n tagNode\n );\n};\n\nTagTile.propTypes = {};\n\nexport default TagTile;\n","import { notification } from 'antd';\nimport { remove } from 'lodash';\n\nimport { areAllFieldsEmpty } from '@/src/search/utils';\nimport { convertMomentToDate } from '@/utils/dateTimeHelpers';\nimport { addTransformUtils } from '@/utils/formHelpers';\n\nconst search = (values, searchOptions) => {\n const _values = { ...values };\n const copyFieldOptions = addTransformUtils(_values, searchOptions);\n const payload = {\n SearchId: null,\n PersonId: 0,\n FullName: null,\n SearchDescription: null,\n FieldOptions: {\n SearchText: _values.SearchText,\n States: copyFieldOptions.getFullComplex('States', 'StateCode'),\n Charts: copyFieldOptions.getFullComplex('Charts', 'ChartId'),\n Categories: _values.Categories ? [{ CategoryId: _values.Categories }] : [],\n DateStart: Array.isArray(_values.DateRanges) && convertMomentToDate(_values.DateRanges[0]),\n DateEnd: Array.isArray(_values.DateRanges) && convertMomentToDate(_values.DateRanges[1]),\n PageSize: null,\n SortField: null,\n SortOrder: null,\n Page: null,\n },\n };\n\n return payload;\n};\n\nconst saveSearch = ({ values, form, options, initialData }) => {\n if (areAllFieldsEmpty(form)) {\n notification.error({\n message: 'Search',\n description: 'Search option is required.',\n });\n return;\n }\n\n const _values = { ...values };\n const copyFieldOptions = addTransformUtils(_values.FieldOptions, options);\n const payload = {\n ...initialData,\n ..._values,\n FieldOptions: {\n ...initialData.FieldOptions,\n States: copyFieldOptions.getFullComplex('States', 'StateCode'),\n Charts: copyFieldOptions.getFullComplex('Charts', 'ChartId'),\n Categories: _values.FieldOptions.Category\n ? [{ CategoryId: _values.FieldOptions.Category }]\n : [],\n },\n };\n\n // eslint-disable-next-line consistent-return\n return payload;\n};\n\nconst isSearchFiltersEmpty = form => {\n const { getFieldsValue } = form;\n const fieldsValues = getFieldsValue();\n const _copy = { ...fieldsValues };\n\n // eslint-disable-next-line compat/compat\n const values = Object.values(_copy);\n\n remove(values, field => {\n if (Array.isArray(field)) {\n if (field.length < 1) {\n return true;\n }\n } else if (!field) {\n return true;\n }\n return false;\n });\n\n return values.length < 1;\n};\nexport { search, saveSearch, isSearchFiltersEmpty };\n","import { css, jsx } from '@emotion/core';\n\nimport { bp, colors, form as formStyle, space } from '@/styles';\n\nconst style = {\n filters: css`\n padding: 4px 18px 4px;\n margin-bottom: 24px;\n margin-left: -16px;\n margin-right: -16px;\n background: #fff;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n border-radius: 0px;\n @media ${bp.md} {\n border-radius: 4px;\n }\n @media ${bp.md} {\n padding: 8px 32px 4px;\n border-radius: 4px;\n margin-left: initial;\n margin-right: initial;\n }\n .ant-collapse {\n &-header {\n padding: 20px 0 !important;\n }\n &-content-box {\n padding: 0;\n .ant-collapse-content-box {\n padding: 0 0 20px !important;\n }\n }\n &-arrow {\n right: 0 !important;\n left: auto !important;\n }\n }\n & > div:first-of-type {\n margin-bottom: 20px;\n & > div {\n border-bottom: none !important;\n & > div:first-of-type {\n border-bottom: 1px solid ${colors.accentGrayLight};\n margin-bottom: 16px;\n }\n }\n }\n `,\n filterSearch: css`\n display: flex;\n border-bottom: 1px solid ${colors.accentGrayLight};\n padding-bottom: 20px;\n `,\n filterTag: css`\n height: 30px;\n min-width: 83px;\n border-radius: 2px;\n border: 1px solid ${colors.accentGrayLight};\n background-color: #fff;\n font-size: 1.2rem;\n display: inline-flex;\n align-items: center;\n font-weight: 900;\n .anticon-close {\n color: ${colors.secondaryGray};\n font-size: 1.4rem;\n margin-left: auto;\n margin-right: 4px;\n transform: translateX(4px);\n }\n `,\n filterTags: css`\n visibility: visible;\n opacity: 1;\n transition: all 0.3s $ease-in-out;\n margin-bottom: 12px;\n `,\n};\n\nexport default style;\n","export default function isObjectEmpty(obj) {\n // null and undefined are \"empty\"\n if (obj == null) return true;\n\n // Assume if it has a length property with a non-zero value\n // that that property is correct.\n if (obj.length > 0) return false;\n if (obj.length === 0) return true;\n\n // If it isn't an object at this point\n // it is empty, but it can't be anything *but* empty\n // Is it empty? Depends on your application.\n if (typeof obj !== 'object') return true;\n\n if (Object.getOwnPropertyNames(obj).length > 0) return false;\n\n return true;\n}\n","import { css, jsx } from '@emotion/core';\nimport { Col, Form as AntForm, Icon, Input, Modal, Radio, Row, Select } from 'antd';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { saveSearch } from '@/src/compliance/utils';\nimport Button from '@/src/shared/components/Button';\nimport Form from '@/src/shared/components/Form';\nimport Heading from '@/src/shared/components/Heading';\nimport X from '@/src/shared/components/Icon/_icons/X';\nimport { bp, space } from '@/styles';\nimport { colMdProps, rowProps } from '@/utils/rowColHelpers';\nimport { multiSelectProps, singleSelectProps } from '@/utils/selectHelpers';\n\nconst { Option } = Select;\n\nconst { m } = space;\n\nconst style = {\n footerWrapper: css`\n display: flex;\n flex-direction: column;\n @media ${bp.md} {\n justify-content: space-between;\n flex-direction: row;\n }\n `,\n footerButtonWrapper: css`\n display: flex;\n flex-direction: column;\n width: 100%;\n @media ${bp.md} {\n flex-direction: inherit;\n width: auto;\n }\n `,\n cancel: css`\n margin-top: 16px;\n text-align: center;\n\n @media ${bp.md} {\n margin-top: 0px;\n }\n `,\n cancelInner: css`\n display: flex !important;\n align-items: baseline !important;\n text-align: center !important;\n justify-content: center;\n `,\n cancelIcon: css`\n padding-left: 8px;\n `,\n cancelText: css`\n padding-left: 0px;\n `,\n saveSearch: css`\n margin-left: 0px !important;\n margin-top: 16px;\n @media ${bp.md} {\n margin-top: 0px;\n margin-left: 8px !important;\n }\n `,\n};\nconst AddSavedSearch = props => {\n const { visible, closeModal, searchOptions, form, data, handleSaveSearch } = props;\n const { Charts, Categories, States } = searchOptions;\n\n const personId = useSelector(state => state.auth.userinfo.PersonID);\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n form.resetFields();\n }, [data]);\n\n const onSave = async () => {\n await form.validateFieldsAndScroll(async (err, values) => {\n if (err) return;\n const formattedPayload = saveSearch({\n personId,\n values,\n form,\n options: searchOptions,\n initialData: {\n ...data,\n PersonId: personId,\n },\n });\n\n dispatch(handleSaveSearch({ payload: formattedPayload }));\n });\n };\n\n const renderMultiSelect = ({\n options,\n optCode,\n optDescription,\n label,\n _props = {},\n initialValue = [],\n field,\n }) => {\n const { getFieldDecorator } = form;\n\n return (\n \n \n {getFieldDecorator(field, {\n initialValue,\n })(\n \n )}\n \n \n );\n };\n\n return (\n \n Save Search\n \n }\n footer={[\n
\n {/* \n {}}\n >\n \n Delete Saved Search\n \n */}\n \n \n \n \n \n \n Cancel\n \n \n \n \n Save Search\n \n \n
,\n ]}\n >\n
\n \n \n \n Search Name\n \n \n \n \n \n \n {form.getFieldDecorator('SearchDescription', {\n initialValue: '',\n rules: [\n {\n message: 'Enter Name of Search.',\n required: true,\n },\n ],\n })()}\n \n \n \n \n {form.getFieldDecorator('IncludeOnHome', {\n initialValue: data.IncludeOnHome,\n })(\n \n Yes\n No\n \n )}\n \n \n \n \n \n \n Search Filters\n \n \n \n \n \n \n {form.getFieldDecorator('FieldOptions.SearchText', {\n initialValue: data.FieldOptions.SearchText,\n rules: [\n {\n required: false,\n },\n ],\n })()}\n \n \n {renderMultiSelect({\n label: 'State',\n options: States,\n optCode: 'StateCode',\n optDescription: 'StateDescription',\n field: 'FieldOptions.States',\n initialValue: data.FieldOptions.States,\n })}\n \n \n \n \n {form.getFieldDecorator('FieldOptions.Category', {\n initialValue: data.FieldOptions.Categories,\n })(\n \n )}\n \n \n {renderMultiSelect({\n label: 'Charts',\n options: Charts,\n optCode: 'ChartId',\n optDescription: 'ChartTitle',\n field: 'FieldOptions.Charts',\n initialValue: data.FieldOptions.Charts,\n })}\n \n
\n \n );\n};\n\nAddSavedSearch.propTypes = {};\n\nexport default AntForm.create()(AddSavedSearch);\n","import { Icon, notification } from 'antd';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { isSearchFiltersEmpty } from '@/src/compliance/utils';\nimport Button from '@/src/shared/components/Button';\nimport { space } from '@/styles';\nimport { isAndroid } from '@/utils/detectBrowser';\n\nimport style from '../style';\nimport AddSavedSearch from './AddSavedSearch';\n\nconst { m } = space;\n\nconst defaultData = {\n SearchId: null,\n SearchDescription: '',\n PersonId: null,\n FieldOptions: {\n Categories: [],\n Charts: [],\n States: [],\n SearchText: '',\n Page: null,\n PageSize: null,\n SortField: null,\n SortOrder: null,\n },\n};\n\nconst Buttons = ({ form, searchOptions, btnDisabled, handleClear, handleSaveSearch }) => {\n const [isModalVisible, setModalVisible] = useState(false);\n const [data, setData] = useState(defaultData);\n\n useEffect(() => {\n if (!isAndroid()) return;\n if (isModalVisible) {\n document.body.classList.add('is-fixed');\n } else {\n document.body.classList.remove('is-fixed');\n }\n }, [isModalVisible]);\n\n const handleSave = async () => {\n if (isSearchFiltersEmpty(form)) {\n notification.error({\n message: 'Search',\n description: 'Search option is required.',\n });\n return;\n }\n await form.validateFieldsAndScroll(async (err, values) => {\n if (err) return;\n setData({\n ...data,\n FieldOptions: {\n ...data.FieldOptions,\n ...values,\n },\n });\n setModalVisible(true);\n });\n };\n\n return (\n
\n setModalVisible(false)}\n searchOptions={searchOptions}\n handleSaveSearch={handleSaveSearch}\n />\n \n Search\n \n \n Save Search\n \n \n
\n );\n};\n\nButtons.propTypes = {\n form: PropTypes.object.isRequired,\n};\n\nexport default Buttons;\n","/* eslint-disable array-callback-return */\n/* eslint-disable react/destructuring-assignment */\nimport { css } from '@emotion/react';\nimport { Col, Collapse, Icon, Input, notification, Select } from 'antd';\nimport moment from 'moment';\nimport Router, { withRouter } from 'next/router';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport {\n requestCharts,\n requestSearchOptions,\n resetResults,\n resetSearchFilters,\n saveCompliassistSearch,\n setCurrentPage,\n setSearchandFetchResults,\n setSearchFilters,\n setSelectedSearch,\n updateSearchFilters,\n} from '@/src/compliance/redux/complianceReducer';\nimport { getSelectedSearch } from '@/src/compliance/redux/selectors';\nimport { isSearchFiltersEmpty, search } from '@/src/compliance/utils';\nimport parseURL from '@/src/compliance/utils/parseURL';\nimport DateRangePicker from '@/src/shared/components/DateRangePicker';\nimport Form from '@/src/shared/components/Form';\nimport Heading from '@/src/shared/components/Heading';\nimport { form as formStyle } from '@/styles';\nimport style from '@/styles/utilities/searchFilters';\nimport { convertMomentToDate, disableDayAfter, validateCustomRange } from '@/utils/dateTimeHelpers';\nimport formatURL from '@/utils/formatURL';\nimport { checkIfValueInSaved } from '@/utils/formHelpers';\nimport isObjectEmpty from '@/utils/isObjectEmpty';\nimport { escapeGTMParam, trackGTMEvent } from '@/utils/utils';\n\nimport Buttons from './Buttons';\n\nconst filterColorOverride = css`\n background-color: #fff\n`\n\nconst initialSearch = {\n FieldOptions: {\n Categories: [],\n Charts: [],\n States: [],\n SearchText: '',\n DateRanges: [null, null],\n Page: null,\n PageSize: null,\n SortField: null,\n SortOrder: null,\n },\n};\n\nconst FIELD_NAMES = ['SearchText', 'States', 'Categories', 'Charts', 'DateRanges'];\n\nconst filterCollapseProps = {\n bordered: false,\n expandIconPosition: 'right',\n expandIcon: ({ isActive }) => ,\n};\n\nconst { Panel } = Collapse;\n\nconst SearchFilters = props => {\n const {\n form,\n filterExpanded,\n setSelection,\n setSelectionTags,\n searchFilterKey,\n handleFiltersCollapseChange,\n router,\n resetTags,\n includeDates,\n rootSearchURL,\n } = props;\n\n const dispatch = useDispatch();\n\n const {\n searchOptions: { FieldOptions, isLoadingOptions },\n searchFiltersValues,\n } = useSelector(state => state.compliance);\n const personId = useSelector(state => state.auth.userinfo.PersonID);\n\n const { getFieldDecorator, validateFieldsAndScroll } = form;\n const { Categories, Charts, States } = FieldOptions;\n\n let filteredCharts = [];\n\n const selectedCategoryValue = form.getFieldValue('Categories');\n\n filteredCharts = Charts.filter(chart => {\n return chart.Categories.map(cat => cat.CategoryId).includes(selectedCategoryValue);\n });\n\n const handleCategoryChange = async categoryId => {\n const chartValue = form.getFieldValue('Charts');\n\n if (Array.isArray(chartValue)) {\n chartValue.map(c => {\n if (\n !Charts.find(ch => ch.ChartId === Number(c))\n .Categories.map(cat => cat.CategoryId)\n .includes(categoryId)\n ) {\n form.setFieldsValue({ Charts: [] });\n }\n });\n }\n };\n\n const handleReset = () => {\n form.setFieldsValue({\n Categories: '',\n Charts: [],\n States: [],\n SearchText: '',\n DateRanges: [null, null],\n });\n dispatch(resetResults());\n dispatch(resetSearchFilters());\n resetTags();\n const formattedURL = rootSearchURL;\n Router.push(formattedURL, formattedURL, { shallow: true });\n };\n\n const updateSearch = (field, value) => {\n dispatch(updateSearchFilters({ field, value }));\n };\n\n const renderSelect = ({\n initialValue,\n placeholder,\n options,\n optId,\n optDescription,\n fieldName,\n header,\n extra = '',\n extraProps = {},\n }) => {\n const isActive = checkIfValueInSaved(initialValue);\n const activeProp = isActive ? { defaultActiveKey: '1' } : {};\n return (\n \n \n {header}\n \n }\n >\n \n {getFieldDecorator(fieldName, {\n initialValue,\n })(\n {\n setSelection(v, s, fieldName);\n updateSearch(fieldName, v);\n }}\n {...extraProps}\n >\n {options.map(opt => (\n \n {opt[optDescription]}\n \n ))}\n \n )}\n \n \n \n );\n };\n\n const { query, asPath } = router;\n const queryString = JSON.stringify(query);\n const fieldOptionString = JSON.stringify(FieldOptions);\n\n useEffect(() => {\n dispatch(requestSearchOptions());\n }, []);\n\n useEffect(() => {\n // WHEN COMPONENT FIRST MOUNTS PARSE THE URL IN THE BROWSER\n const updatedPayload = parseURL(FieldOptions, router);\n dispatch(setCurrentPage(1));\n\n if (isObjectEmpty(query)) {\n form.setFieldsValue({\n Categories: '',\n Charts: [],\n States: [],\n SearchText: '',\n DateRanges: [null, null],\n });\n dispatch(resetResults());\n dispatch(resetSearchFilters());\n resetTags();\n }\n if (query.searchId) {\n // Choose another savedSearch (searchId changed),\n // need to clear local state tags and reset form if touched\n const selectionTags = FIELD_NAMES.map(name => [null, null, name]);\n setSelectionTags(selectionTags);\n form.resetFields();\n dispatch(setSelectedSearch(query.searchId));\n dispatch(setSearchandFetchResults({ searchId: query.searchId, personId }));\n return;\n }\n if (!isObjectEmpty(updatedPayload)) {\n const payload = {\n FieldOptions: {\n ...initialSearch.FieldOptions,\n ...updatedPayload,\n },\n };\n const selectionTags = [];\n\n if (updatedPayload.SearchText) {\n const selectedNodes = {\n value: updatedPayload.SearchText,\n input: 'SearchText',\n children: updatedPayload.SearchText,\n };\n const tag = [updatedPayload.SearchText, selectedNodes, 'SearchText', true];\n selectionTags.push(tag);\n }\n\n if (updatedPayload.States && Array.isArray(updatedPayload.States)) {\n const selectedStates = updatedPayload.States.map(s => s.StateCode);\n const selectedNodes = updatedPayload.States.map(s => {\n return {\n value: s.StateCode,\n children: s.StateDescription,\n input: 'States',\n };\n });\n const tag = [selectedStates, selectedNodes, 'States', true];\n selectionTags.push(tag);\n }\n\n if (updatedPayload.Categories && Array.isArray(updatedPayload.Categories)) {\n if (!updatedPayload.Categories.length) return;\n\n const selectedNodes = {\n value: updatedPayload.Categories[0].CategoryId,\n input: 'Categories',\n children: updatedPayload.Categories[0].CategoryDescription,\n };\n const tag = [undefined, selectedNodes, 'Categories', true];\n selectionTags.push(tag);\n }\n\n if (updatedPayload.Charts && Array.isArray(updatedPayload.Charts)) {\n const selectedCharts = updatedPayload.Charts.map(s => s.ChartId);\n const selectedNodes = updatedPayload.Charts.map(s => {\n return {\n value: s.ChartId,\n children: s.ChartTitle,\n input: 'Charts',\n };\n });\n const tag = [selectedCharts, selectedNodes, 'Charts', true];\n selectionTags.push(tag);\n }\n\n if (updatedPayload.DateStart && updatedPayload.DateEnd) {\n const dateRanges = [moment(updatedPayload.DateStart), moment(updatedPayload.DateEnd)];\n const selectedNodes = {\n value: dateRanges,\n children: `${updatedPayload.DateStart}-${updatedPayload.DateEnd}`,\n input: 'DateRanges',\n };\n const tag = [undefined, selectedNodes, 'DateRanges', true];\n selectionTags.push(tag);\n }\n\n const searchFiltersPayload = payload.FieldOptions;\n const formattedPayload = {\n SearchText: searchFiltersPayload.SearchText,\n Categories:\n Array.isArray(searchFiltersPayload.Categories) && searchFiltersPayload.Categories.length\n ? searchFiltersPayload.Categories.map(c => c.CategoryId)[0]\n : undefined,\n Charts:\n Array.isArray(searchFiltersPayload.Charts) && searchFiltersPayload.Charts.length\n ? searchFiltersPayload.Charts.map(c => c.ChartId)\n : [],\n States:\n Array.isArray(searchFiltersPayload.States) && searchFiltersPayload.States.length\n ? searchFiltersPayload.States.map(s => s.StateCode)\n : [],\n DateStart: searchFiltersPayload.DateStart,\n DateEnd: searchFiltersPayload.DateEnd,\n };\n\n setSelectionTags(selectionTags);\n dispatch(setSearchFilters(formattedPayload));\n dispatch(requestCharts({ payload }));\n }\n }, [queryString, fieldOptionString, asPath]);\n\n const onSearch = async () => {\n await validateFieldsAndScroll(async (err, values) => {\n if (err) return;\n const queryObj = {\n searchtext: values.SearchText,\n categories: values.Categories,\n charts: values.Charts.join(','),\n states: values.States.join(','),\n datestart: Array.isArray(values.DateRanges)\n ? convertMomentToDate(values.DateRanges[0])\n : null,\n dateend: Array.isArray(values.DateRanges)\n ? convertMomentToDate(values.DateRanges[1])\n : null,\n };\n const payload = search(values, FieldOptions);\n\n // Send GTM EVENT\n trackGTMEvent({\n event: 'complianceSearch',\n text: escapeGTMParam(values.SearchText || ''),\n state: values.States?.length > 0 ? values.States.join(', ') : 'All',\n category: values.Categories\n ? FieldOptions.Categories.filter(c => c.CategoryId === values.Categories)\n .map(c => escapeGTMParam(c.CategoryDescription))\n .join(', ')\n : 'All',\n chart:\n values.Charts?.length > 0\n ? FieldOptions.Charts.filter(c => (values.Charts || []).includes(c.ChartId))\n .map(c => escapeGTMParam(c.ChartTitle))\n .join(', ')\n : 'All',\n });\n\n const formattedURL = formatURL(rootSearchURL, queryObj);\n Router.push(formattedURL, formattedURL, { shallow: true });\n dispatch(setCurrentPage(1));\n dispatch(requestCharts({ payload }));\n });\n };\n\n const handleSubmit = e => {\n e.preventDefault();\n if (isSearchFiltersEmpty(form)) {\n notification.error({\n message: 'Search',\n description: 'Search option is required.',\n });\n return;\n }\n onSearch();\n };\n\n const handleFiltersCollapse = keys => {\n const isOpen = keys?.length > 0;\n\n trackGTMEvent({\n event: isOpen ? 'expandSearch' : 'collapseSearch',\n });\n\n handleFiltersCollapseChange(keys || []);\n };\n\n return (\n \n
\n
\n \n \n Search Filters\n \n }\n id={filterExpanded ? 'expandpanel' : 'collapsepanel'}\n >\n \n
\n {getFieldDecorator('SearchText', {\n initialValue: searchFiltersValues.SearchText,\n })(\n }\n placeholder=\"Search\"\n css={formStyle.inputGray}\n onChange={e => {\n setSelection(e.target.value, null, 'SearchText');\n updateSearch('SearchText', e.target.value);\n }}\n />\n )}\n
\n
\n {renderSelect({\n placeholder: 'Select State',\n initialValue: searchFiltersValues.States,\n options: States,\n optId: 'StateCode',\n optDescription: 'StateDescription',\n fieldName: 'States',\n header: 'State',\n extra: 'Select one or more states.',\n extraProps: {\n mode: 'multiple',\n },\n })}\n {renderSelect({\n placeholder: 'Select Category',\n initialValue: searchFiltersValues.Categories,\n options: Categories,\n optId: 'CategoryId',\n optDescription: 'CategoryDescription',\n fieldName: 'Categories',\n header: 'Category',\n extra: 'Select a category to see a list of available charts.',\n extraProps: {\n onChange: (val, s) => {\n handleCategoryChange(val);\n setSelection(val, s, 'Categories');\n updateSearch('Categories', val);\n },\n },\n })}\n {renderSelect({\n placeholder: 'Select Chart',\n initialValue: searchFiltersValues.Charts,\n options: selectedCategoryValue ? filteredCharts : Charts,\n optId: 'ChartId',\n optDescription: 'ChartTitle',\n fieldName: 'Charts',\n header: 'Chart',\n extra: 'Select one or more charts.',\n extraProps: {\n mode: 'multiple',\n },\n })}\n {includeDates && (\n \n \n Date Range\n \n }\n >\n \n {form.getFieldDecorator('DateRanges', {\n initialValue:\n searchFiltersValues.DateStart && searchFiltersValues.DateEnd\n ? [\n moment(searchFiltersValues.DateStart),\n moment(searchFiltersValues.DateEnd),\n ]\n : [null, null],\n rules: [\n {\n message: 'Please complete start date and end date',\n validator: validateCustomRange,\n },\n ],\n })(\n {\n setSelection(value, s, 'DateRanges');\n updateSearch(\n 'DateStart',\n Array.isArray(value) && convertMomentToDate(value[0])\n );\n updateSearch(\n 'DateEnd',\n Array.isArray(value) && convertMomentToDate(value[1])\n );\n }}\n disabledDate={disableDayAfter}\n />\n )}\n \n \n \n )}\n \n \n \n
\n
\n \n );\n};\n\nSearchFilters.propTypes = {};\n\nexport default withRouter(SearchFilters);\n","import { css, jsx } from '@emotion/core';\n\nimport { bp, colors, form as formStyle, space } from '@/styles';\n\nconst style = {\n filters: css`\n padding: 4px 18px 4px;\n margin-bottom: 24px;\n margin-left: -16px;\n margin-right: -16px;\n background: #fff;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n border-radius: 0px;\n @media ${bp.md} {\n border-radius: 4px;\n }\n @media ${bp.md} {\n padding: 8px 32px 4px;\n border-radius: 4px;\n margin-left: initial;\n margin-right: initial;\n }\n .ant-collapse {\n &-header {\n padding: 20px 0 !important;\n }\n &-content-box {\n padding: 0;\n .ant-collapse-content-box {\n padding: 0 0 20px !important;\n }\n }\n &-arrow {\n right: 0 !important;\n left: auto !important;\n }\n }\n & > div:first-of-type {\n margin-bottom: 20px;\n & > div {\n border-bottom: none !important;\n & > div:first-of-type {\n border-bottom: 1px solid ${colors.accentGrayLight};\n margin-bottom: 16px;\n }\n }\n }\n `,\n filterSearch: css`\n display: flex;\n border-bottom: 1px solid ${colors.accentGrayLight};\n padding-bottom: 20px;\n `,\n filterTag: css`\n height: 30px;\n min-width: 83px;\n border-radius: 2px;\n border: 1px solid ${colors.accentGrayLight};\n background-color: #fff;\n font-size: 1.2rem;\n display: inline-flex;\n align-items: center;\n font-weight: 900;\n .anticon-close {\n color: ${colors.secondaryGray};\n font-size: 1.4rem;\n margin-left: auto;\n margin-right: 4px;\n transform: translateX(4px);\n }\n `,\n filterTags: css`\n visibility: visible;\n opacity: 1;\n transition: all 0.3s $ease-in-out;\n margin-bottom: 12px;\n `,\n footerContainer: css`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n `,\n};\n\nexport default style;\n","import style from '../assets/complianceStyle';\nimport logo from '../assets/compliassistlogob64';\nimport sanitize from '../utils/sanitize';\nimport { generateFooterTemplate, generateHeaderTemplate } from './headerFooter';\n\nconst HTML_TEMPLATES = {\n bendData: (formattedCharts, formattedChartsByState, searchCriteria, groupBy) => {\n const { Categories, Charts, States, SearchText } = searchCriteria;\n return `\n
\n
\n
\n \"Compliassist\n
\n
\n
\n
\n
\n

Search Criteria

\n
\n
\n

Category:

\n

${Categories.map(c => c.CategoryDescription).join(', ')}

\n
\n
\n

Chart(s):

\n

${Charts.map(c => c.ChartDescription).join(', ')}

\n
\n
\n

State(s):

\n

${\n States.length > 0\n ? States.map(c => c.StateDescription).join(', ')\n : 'All States'\n }

\n
\n
\n

Search Text:

\n

${SearchText}

\n
\n
\n ${\n groupBy === 'state'\n ? `
\n
\n ${formattedCharts\n .map(\n chart =>\n `
\n
\n
\n
\n

Chart Name:

\n
${chart.ChartTitle}
\n
\n
\n

Chart Description:

\n
${chart.ChartDescription}
\n
\n
\n

Chart Notes:

\n
\n
\n ${sanitize(chart.ChartNotes)}\n
\n
\n
\n
\n
\n

Contact:

\n
\n
\n

${chart.Contact.FullName}

\n

${chart.Contact.Phone}

\n ${\n chart.Contact.EmailAddress\n }\n
\n
\n
\n
\n
\n
\n
`\n )\n .join('')}\n
\n
\n ${formattedChartsByState\n .map(\n state =>\n `
\n
\n
\n

${\n state.ChartState\n }

\n
\n ${state.charts\n .map(\n chart =>\n `
\n

Chart Name:

\n
${chart.ChartTitle}
\n
\n ${chart.topics\n .map(\n topic => `\n
\n

${topic.ChartTopic}

\n
${sanitize(topic.Details)}
\n
\n `\n )\n .join('')}\n
\n

State Notes:

\n
\n ${sanitize(\n chart.topics.length\n ? chart.topics[chart.topics.length - 1].StateNotes\n : ''\n )}\n
\n
`\n )\n .join('')}\n
\n
`\n )\n .join('')}\n
\n
`\n : formattedCharts\n .map(\n chart => `\n
\n
\n
\n
\n
\n

Chart Name:

\n
${chart.ChartTitle}
\n
\n
\n

Chart Description:

\n
${chart.ChartDescription}
\n
\n
\n

Chart Notes:

\n
\n
\n ${sanitize(chart.ChartNotes)}\n
\n
\n
\n
\n
\n

Contact:

\n
\n
\n

${chart.Contact.FullName}

\n

${chart.Contact.Phone}

\n \n ${chart.Contact.EmailAddress}\n \n
\n
\n
\n
\n
\n
\n
\n ${chart.states\n .map(\n state => `\n
\n
\n
\n

${\n state.ChartState\n }

\n
\n ${state.topics\n .map(\n topic => `\n
\n

${topic.ChartTopic}

\n
${sanitize(topic.Details)}
\n
\n `\n )\n .join('')}\n
\n

Notes:

\n
\n ${sanitize(\n state.topics.length\n ? state.topics[state.topics.length - 1].StateNotes\n : ''\n )}\n
\n
\n
\n
\n `\n )\n .join('')}\n
\n `\n )\n .join('')\n }\n
\n

\n Disclaimer: This compliance resource was prepared by American Property Casualty Insurance Association (APCIA) as a research aid only. \n Reasonable attempts have been made to ensure that the content is accurate and current as of its publication date. However, \n you should independently verify any statutory or regulatory language referenced herein. This compliance resource is not intended as, \n and should not be construed to constitute, legal or regulatory advice and use of the resource(or any part thereof) does not establish an attorney / client relationship. \n Transmission or reproduction of the compliance resource for commercial purposes or for distribution as legal or regulatory advice or using it to serve as, substitute for, \n supplement, or replace the operating procedures, decision rules, guidelines, or advice of your Company is strictly prohibited. \n Non - commercial transmission or reproduction of this resource for limited, internal use is permissible, but must include this Disclaimer.\n

\n
\n
\n
\n `;\n },\n};\n\nexport function generateHTMLString(\n formattedCharts,\n formattedChartsByState,\n searchCriteria,\n groupBy\n) {\n return `\n ${generateHeaderTemplate(style)}\n ${HTML_TEMPLATES.bendData(formattedCharts, formattedChartsByState, searchCriteria, groupBy)}\n ${generateFooterTemplate()}\n `;\n}\n","import { css, jsx } from '@emotion/core';\n\nimport { bp, colors } from '@/styles';\n\nconst style = {\n pageButtons: css`\n background-color: ${colors.white};\n `,\n paginationRow: css`\n display: flex;\n `,\n btnRow: disabled => css`\n display: flex;\n flex-direction: column;\n align-items: initial;\n @media ${bp.md} {\n flex-direction: row;\n justify-content: space-between;\n }\n ${disabled\n ? css`\n .ant-btn:disabled {\n color: rgba(0, 0, 0, 0.25) !important;\n &:hover {\n border-color: #dadad7 !important;\n }\n }\n `\n : null}\n `,\n btnGroup: css`\n @media (max-width: 575px) {\n flex-wrap: wrap;\n margin-top: 6px;\n }\n `,\n expandCollapseBtns: css``,\n};\n\nexport default style;\n","import { Icon } from 'antd';\nimport Link from 'next/link';\nimport { withRouter } from 'next/router';\nimport React from 'react';\n\nimport Button from '@/src/shared/components/Button';\n\nimport handleExcelExport from './excelExport';\nimport style from './style';\n\nconst shouldToggle = (header, isExpand) => {\n const panelActive = header.parentElement.classList.contains('ant-collapse-item-active');\n return isExpand ? !panelActive : panelActive;\n};\n\nconst handleToggleAll = async isExpand => {\n // eslint-disable-next-line compat/compat\n const allPanelheaders = Array.from(document.getElementsByClassName('outerpanel'));\n allPanelheaders.forEach(p => {\n // eslint-disable-next-line compat/compat\n const headers = Array.from(p.getElementsByClassName('ant-collapse-header'));\n if (shouldToggle(headers[0], isExpand)) {\n headers[0].click();\n }\n headers.splice(0, 1);\n headers\n .filter(innerHeader => shouldToggle(innerHeader, isExpand))\n .forEach((innerHeader, i) => {\n setTimeout(() => {\n innerHeader.click();\n }, i * 100);\n });\n });\n};\n\nconst handleExpandAll = () => handleToggleAll(true);\nconst handleCollapseAll = () => handleToggleAll();\n\nconst PageButtons = props => {\n const { isDisabled, data, pdfDisabled, pdfDownloading, handleExportToPdf, groupBy } = props;\n const { router } = props;\n const { query } = router;\n\n const queryString = Object.keys(query)\n .map(k => `${k}=${query[k]}`)\n .join('&');\n\n return (\n
\n \n \n \n \n \n \n \n \n {pdfDownloading ? : } Export\n to PDF\n \n {\n handleExcelExport({\n data,\n sheetTitle: 'CompliAssistExport',\n fileName: 'CompliAssistExport',\n });\n }}\n disabled={!isDisabled}\n >\n Export to Excel\n \n \n
\n );\n};\n\nPageButtons.propTypes = {};\n\nexport default withRouter(PageButtons);\n","import { css } from '@emotion/core';\nimport { Collapse, Icon } from 'antd';\nimport Link from 'next/link';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport contentStyle from '@/src/cms/contentStyle';\nimport Accordion from '@/src/shared/components/Accordion';\nimport Sanitize from '@/src/shared/components/Sanitize';\nimport Table from '@/src/shared/components/Table';\nimport { bp } from '@/styles';\n\nconst { Panel } = Collapse;\n\nconst styles = {\n table: css`\n @media screen and (max-width: ${bp.sizes.sm}px) {\n td {\n &:nth-child(1) {\n min-width: 250px;\n }\n &:nth-child(2) {\n min-width: 450px;\n }\n }\n }\n `,\n header: css`\n @media ${bp.sm} {\n display: flex;\n justify-content: space-between;\n }\n `,\n link: css`\n font-size: 1.2rem;\n padding: 1.6rem 0 0;\n\n @media ${bp.sm} {\n padding: 0;\n }\n `,\n};\n\nconst columns = [\n {\n title: Topic,\n dataIndex: 'ChartTopic',\n key: 'ChartTopic',\n width: 250,\n },\n {\n title: Details,\n dataIndex: 'Details',\n key: 'Details',\n render: value => {\n return {value};\n },\n },\n];\n\nconst changeColumns = [\n {\n title: Topic,\n dataIndex: 'ChartTopic',\n key: 'ChartTopic',\n width: 250,\n },\n {\n title: Recent Changes,\n dataIndex: 'RecentChanges',\n key: 'RecentChanges',\n render: value => {\n return {value};\n },\n },\n];\n\nconst filterCollapseProps = {\n bordered: false,\n expandIconPosition: 'right',\n expandIcon: ({ isActive }) => ,\n};\n\nconst chartCollapseProps = {\n ...filterCollapseProps,\n expandIconPosition: 'left',\n};\n\nconst SearchResultsAccordion = ({ results, groupByChart, displayChanges }) => {\n return (\n
\n {groupByChart\n ? results.map((chart, index) => (\n \n {chart.states.map(chartState => {\n return (\n \n \n {chartState.ChartState} ({chartState.topics.length} Results)\n \n
\n e.stopPropagation()}\n >\n \n \n See Full Details\n \n \n
\n
\n }\n key={chartState.ChartStateId.toString()}\n >\n
\n {\n return `compliassist-state-topic-row-${record.StateTopicId}`;\n }}\n pagination={false}\n dataSource={chartState.topics}\n columns={displayChanges ? changeColumns : columns}\n />\n
\n \n );\n })}\n ,\n ],\n },\n },\n ]}\n />\n ))\n : results.map((state, index) => (\n \n {state.charts.map(stateChart => {\n return (\n {stateChart.ChartTitle}}\n key={stateChart.ChartId.toString()}\n >\n
\n {\n return `compliassist-state-topic-row-${record.StateTopicId}`;\n }}\n pagination={false}\n dataSource={stateChart.topics}\n columns={displayChanges ? changeColumns : columns}\n />\n
\n \n );\n })}\n ,\n ],\n },\n },\n ]}\n />\n ))}\n \n );\n};\n\nSearchResultsAccordion.propTypes = {\n results: PropTypes.array.isRequired,\n};\n\nexport default SearchResultsAccordion;\n","import { css, jsx } from '@emotion/core';\nimport { Select } from 'antd';\nimport { withRouter } from 'next/router';\nimport React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { setCurrentPage, setGroupBy } from '@/src/compliance/redux/complianceReducer';\nimport {\n getChartsArrangedByState,\n getChartsArrangedByTopicAndState,\n getPaginatedCharts,\n} from '@/src/compliance/redux/selectors';\nimport parseURL from '@/src/compliance/utils/parseURL';\nimport { generateHTMLString } from '@/src/pdf/templates/compliance';\nimport { convertHtmlToPdf } from '@/src/pdf/utils';\nimport Loading from '@/src/shared/components/LoadingResults';\nimport Pagination from '@/src/shared/components/Pagination';\nimport { bp, colors, space } from '@/styles';\nimport { getCurrentDate } from '@/utils/dateTimeHelpers';\n\nimport PageButtons from './PageButtons';\nimport SearchResultsAccordion from './SearchResultsAccordion';\n\nconst { m } = space;\n\nconst style = {\n pageButtons: css`\n background-color: ${colors.white};\n `,\n paginationRow: css`\n display: flex;\n flex-wrap: wrap;\n `,\n btnRow: css`\n display: flex;\n justify-content: space-between;\n `,\n groupSelect: css`\n width: 100%;\n\n @media ${bp.sm} {\n width: 35%;\n padding-left: 16px;\n }\n `,\n};\nconst SearchResults = props => {\n const dispatch = useDispatch();\n\n const {\n searchResults,\n searchFiltersValues,\n searchOptions: { FieldOptions },\n } = useSelector(state => state.compliance);\n const {\n searchResults: { Charts },\n currentPage,\n isFetchingCharts,\n groupByChart,\n } = searchResults;\n\n const formattedCharts = getChartsArrangedByTopicAndState(Charts);\n const formattedChartsByState = getChartsArrangedByState(Charts);\n const resultsGroupedByState = getChartsArrangedByState(Charts);\n\n const extraSearchValues = {\n count: formattedCharts.length,\n results: getPaginatedCharts(formattedCharts, currentPage),\n originalResultsFormat: Charts,\n stateCount: formattedChartsByState.length,\n };\n\n const { count, results, originalResultsFormat, stateCount } = extraSearchValues;\n\n const [pdfExportStatus, setPdfExportStatus] = useState(false);\n\n const { router, displayChanges } = props;\n\n const handlePageChange = pageNumber => {\n dispatch(setCurrentPage(pageNumber));\n };\n\n const handleGroupBy = e => {\n const groupVal = Boolean(e === 'chart');\n dispatch(setGroupBy(groupVal));\n };\n\n const handleExportToPdf = async () => {\n setPdfExportStatus(true);\n const updatedPayload = parseURL(FieldOptions, router);\n const selectedCategories = searchFiltersValues.Categories\n ? FieldOptions.Categories.filter(cat => cat.CategoryId === searchFiltersValues.Categories)\n : [];\n const selectedCharts = Array.isArray(searchFiltersValues.Charts)\n ? FieldOptions.Charts.filter(c => searchFiltersValues.Charts.includes(c.ChartId))\n : [];\n const selectedStates = Array.isArray(searchFiltersValues.States)\n ? FieldOptions.States.filter(s => searchFiltersValues.States.includes(s.StateCode))\n : [];\n const searchCriteria = {\n Categories: selectedCategories,\n Charts: selectedCharts,\n States: selectedStates,\n SearchText: searchFiltersValues.SearchText,\n ...updatedPayload,\n };\n const currentDate = getCurrentDate();\n const fileName = `Compliassist Charts - ${currentDate}.pdf`;\n const groupBy = groupByChart ? 'chart' : 'state';\n const html = generateHTMLString(\n formattedCharts,\n formattedChartsByState,\n searchCriteria,\n groupBy\n );\n await convertHtmlToPdf({ html, fileName }, setPdfExportStatus);\n };\n\n const pagination = (\n {\n handlePageChange(pageNumber);\n }}\n css={css`\n margin-bottom: 24px;\n `}\n />\n );\n\n return (\n
\n
\n {pagination}\n\n \n Group By Chart\n Group By State\n \n
\n \n
\n {isFetchingCharts ? (\n \n ) : (\n \n )}\n
\n \n {pagination}\n
\n \n );\n};\n\nexport default withRouter(SearchResults);\n","import { css } from '@emotion/core';\n\nimport bp from './breakpoints';\nimport * as colors from './colors';\nimport * as easing from './easings';\nimport * as form from './form';\nimport space from './space';\nimport * as text from './text';\n\nconst colorWhite = css`\n color: white !important;\n`;\n\nconst hiddenXXL = css`\n @media (max-width: 374px) {\n display: none !important;\n }\n`;\n\nexport { bp, colors, colorWhite, hiddenXXL, space, easing, text, form };\n","import { css, jsx } from '@emotion/core';\nimport { Pagination as AntPagination } from 'antd';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { colors } from '@/styles/utilities';\n\nconst style = {\n wrapper: css`\n display: flex;\n align-items: baseline;\n `,\n resultsText: css`\n margin-right: 12px;\n font-weight: bold;\n color: ${colors.secondaryGrey};\n font-family: 'Lato', sans-serif;\n font-size: 1.2rem;\n `,\n};\n\nconst Pagination = props => {\n const { total } = props;\n\n return (\n
\n

\n {total || 'No'} Result{total !== 1 ? 's' : ''}\n

\n \n
\n );\n};\n\nPagination.propTypes = {\n total: PropTypes.number,\n};\n\nPagination.defaultProps = {\n total: 0,\n};\n\nPagination.defaultProps = {};\n\nexport default Pagination;\n","import { css, jsx } from '@emotion/core';\nimport { Table as AntTable } from 'antd';\nimport React from 'react';\n\nimport { bp, colors } from '@/styles';\n\nconst table = css`\n .ant-table {\n @media ${bp.sm} {\n font-size: 1.6rem;\n }\n &-body {\n overflow-x: auto;\n }\n &-row {\n background-color: white;\n &--clickable {\n cursor: pointer;\n }\n }\n &-thead {\n > tr > th {\n vertical-align: top;\n font-weight: 700;\n color: ${colors.secondaryGray};\n padding-top: 32px;\n .ant-table-column-sorter .ant-table-column-sorter-inner {\n margin-top: -0.35em;\n .ant-table-column-sorter {\n &-up,\n &-down {\n font-size: 1.4rem !important;\n &.on {\n color: ${colors.secondaryGray};\n }\n }\n &-up {\n height: 0.35em;\n }\n }\n }\n }\n }\n table {\n border-radius: 2px;\n overflow: hidden;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n }\n tbody {\n overflow: auto;\n tr {\n vertical-align: top;\n }\n }\n }\n`;\n\nconst Table = props => ;\n\nexport default Table;\n","export const detectIE = () => {\n return typeof window !== 'undefined' && /Trident\\/|MSIE/.test(window.navigator.userAgent);\n};\n\nexport const detectEdgeHtml = () => {\n return (\n typeof window !== 'undefined' &&\n /edge\\/([0-1][0-8]|[0-9]\\D)/.test(window.navigator.userAgent.toLowerCase())\n );\n};\n\nexport const isSafari = () => {\n return (\n typeof window !== 'undefined' &&\n (/constructor/i.test(window.HTMLElement) ||\n (function(p) {\n return p.toString() === '[object SafariRemoteNotification]';\n })(!window['safari'] || window.safari.pushNotification))\n );\n};\n\nexport const isMobileSafari = () => {\n return typeof window !== 'undefined' && /iP(ad|od|hone)/i.test(window.navigator.userAgent);\n};\n\nexport const isAndroid = () => {\n return typeof window !== 'undefined' && /android/i.test(window.navigator.userAgent.toLowerCase());\n};\n"],"names":["props","tag","tagClose","children","value","input","childrenStr","toString","isLongTag","length","tagNode","css","style","key","closable","onClose","e","slice","title","search","values","searchOptions","_values","copyFieldOptions","addTransformUtils","SearchId","PersonId","FullName","SearchDescription","FieldOptions","SearchText","States","getFullComplex","Charts","Categories","CategoryId","DateStart","Array","isArray","DateRanges","convertMomentToDate","DateEnd","PageSize","SortField","SortOrder","Page","saveSearch","form","options","initialData","areAllFieldsEmpty","Category","notification","message","description","isSearchFiltersEmpty","_copy","getFieldsValue","Object","remove","field","filters","bp","colors","filterSearch","filterTag","filterTags","isObjectEmpty","obj","getOwnPropertyNames","Option","m","space","footerWrapper","footerButtonWrapper","cancel","cancelInner","cancelIcon","cancelText","visible","closeModal","data","handleSaveSearch","personId","useSelector","state","auth","userinfo","PersonID","dispatch","useDispatch","useEffect","resetFields","onSave","validateFieldsAndScroll","err","formattedPayload","payload","renderMultiSelect","optCode","optDescription","label","_props","initialValue","getFieldDecorator","colMdProps","multiSelectProps","map","opt","onCancel","width","maskStyle","backgroundColor","Heading","type","weight","theme","b0","footer","Button","size","disabled","onClick","X","htmlType","Form","rowProps","b24","rules","required","IncludeOnHome","singleSelectProps","category","CategoryDescription","defaultData","btnDisabled","handleClear","useState","isModalVisible","setModalVisible","setData","isAndroid","document","body","classList","add","handleSave","r16","b16","filterColorOverride","initialSearch","FIELD_NAMES","filterCollapseProps","bordered","expandIconPosition","expandIcon","isActive","Panel","withRouter","filteredCharts","filterExpanded","setSelection","setSelectionTags","searchFilterKey","handleFiltersCollapseChange","router","resetTags","includeDates","rootSearchURL","compliance","isLoadingOptions","searchFiltersValues","selectedCategoryValue","getFieldValue","filter","chart","cat","includes","handleCategoryChange","categoryId","chartValue","c","find","ch","ChartId","Number","setFieldsValue","updateSearch","updateSearchFilters","renderSelect","placeholder","optId","fieldName","header","extra","extraProps","activeProp","checkIfValueInSaved","defaultActiveKey","formStyle","optionFilterProp","showSearch","allowClear","onChange","v","s","query","asPath","queryString","JSON","stringify","fieldOptionString","requestSearchOptions","updatedPayload","parseURL","setCurrentPage","resetResults","resetSearchFilters","searchId","selectionTags","name","setSelectedSearch","setSearchandFetchResults","selectedNodes","push","StateCode","StateDescription","undefined","ChartTitle","moment","searchFiltersPayload","setSearchFilters","requestCharts","onSearch","queryObj","searchtext","categories","charts","join","states","datestart","dateend","trackGTMEvent","event","text","escapeGTMParam","formattedURL","formatURL","Router","shallow","xs","md","lg","onSubmit","preventDefault","keys","isOpen","id","className","display","prefix","target","mode","val","validator","validateCustomRange","DateRangePicker","disabledDate","disableDayAfter","saveCompliassistSearch","footerContainer","HTML_TEMPLATES","formattedCharts","formattedChartsByState","searchCriteria","groupBy","logo","ChartDescription","sanitize","ChartNotes","Contact","Phone","EmailAddress","ChartState","topics","topic","ChartTopic","Details","StateNotes","generateHTMLString","generateHeaderTemplate","generateFooterTemplate","pageButtons","paginationRow","btnRow","btnGroup","expandCollapseBtns","shouldToggle","isExpand","panelActive","parentElement","contains","handleToggleAll","from","getElementsByClassName","forEach","p","headers","click","splice","innerHeader","i","setTimeout","handleExpandAll","handleCollapseAll","isDisabled","pdfDisabled","pdfDownloading","handleExportToPdf","k","onClickCopy","href","onClickExportPDF","handleExcelExport","sheetTitle","fileName","styles","table","link","columns","dataIndex","render","Sanitize","contentStyle","changeColumns","chartCollapseProps","results","groupByChart","displayChanges","index","Accordion","panels","content","items","chartState","forceRender","pathname","chartId","stateCode","stopPropagation","ChartStateId","Table","rowKey","record","StateTopicId","pagination","dataSource","stateChart","groupSelect","searchResults","currentPage","isFetchingCharts","getChartsArrangedByTopicAndState","getChartsArrangedByState","resultsGroupedByState","extraSearchValues","count","getPaginatedCharts","originalResultsFormat","stateCount","pdfExportStatus","setPdfExportStatus","selectedCategories","selectedCharts","selectedStates","currentDate","getCurrentDate","html","convertHtmlToPdf","Pagination","current","total","pageSize","pageNumber","handlePageChange","defaultValue","groupVal","Boolean","setGroupBy","t24","height","wrapper","resultsText","defaultProps","detectIE","test","window","navigator","userAgent","isSafari","HTMLElement","safari","pushNotification","toLowerCase"],"sourceRoot":""}