{"version":3,"sources":["webpack:///./app/containers/DataClassifierManagement/messages.js","webpack:///./app/containers/DataClassifierManagement/RegexClassifier.js","webpack:///./app/containers/DataClassifierManagement/CreateCustomModal.js","webpack:///./app/containers/DataClassifierManagement/index.js"],"names":["defineMessages","createTitle","id","defaultMessage","whereOptions","value","label","getRegularObjectGuy","IHelp","help","position","helpKey","withConnect","connect","dispatch","bindActionCreators","deleteCustomClassifier","updateCustomClassifiers","compose","themeable","props","useState","classifier","get","atomName","setAtomName","getIn","toJS","map","guy","aliases","setAliases","disAliases","setDisAliases","regexes","setRegexes","proximity","setProximity","proximityValid","setProximityValid","startCase","where","setWhere","type","setType","useEffect","test","isDifferent","isDiff","size","length","forEach","rx","findIndex","reg","al","alias","dAlias","da","wh","styles","form","display","gridTemplateColumns","rowGap","columnGap","fontSize","alignSelf","inputSpace","card","marginBottom","thingy","fontWeight","margin","clicky","cursor","height","BorderedCard","style","background","theme","neutralLight","padding","FormLabel","for","requireds","Input","onChange","params","text","target","camelCase","trim","readOnly","canEdit","required","placeholder","isMulti","isDisabled","onClick","verticalAlign","checked","border","width","options","marginTop","Button","srnList","outline","color","disabled","deleting","updating","Icon","fa","name","spin","marginRight","creating","cancel","justifyContent","r","a","w","disallowed_aliases","d","updated","create","includes","checkIfGood","Alert","mapStateToProps","createStructuredSelector","selectCreatingClassifier","error","selectCreatingClassifierError","createCustomClassifier","shouldClose","setShouldClose","close","Modal","isOpen","toggle","ModalHeader","messages","ModalBody","SquareLoadingAnimation","DataClassifierManagement","setState","createModalOpen","canMutate","loading","alignItems","customClassifiers","TextLink","openCreateModal","cl","index","state","container","gridTemplateRows","header","cardZone","overflow","isEmpty","fetchCustomClassifiers","this","userHasPermission","permissionName","renderClassifiers","closeCreateModal","React","Component","selectCustomClassifiers","selectFetchingClassifiers","selectDeletingCustomClassifiers","selectUpdatingCustomClassifiers","permissionChecker"],"mappings":"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","file":"46.629118b7f61d50f7ddbb.chunk.js","sourcesContent":["/*\n * DataClassifierManagement Messages\n *\n * This contains all the text for the DataClassifierManagement component.\n */\nimport { defineMessages } from 'react-intl'\n\nexport default defineMessages({\n createTitle: {\n id: 'app.containers.DataClassifierManagement.createTitle',\n defaultMessage: 'Create Custom Classifier',\n },\n})\n","import React, { useEffect, useState } from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, compose } from 'redux'\nimport PropTypes from 'prop-types'\nimport ImmutablePropTypes from 'react-immutable-proptypes'\n\nimport {\n deleteCustomClassifier,\n updateCustomClassifiers,\n} from 'containers/DataClassifierData/actions'\n\nimport BorderedCard from 'components/BorderedCard'\nimport themeable, { themeShape } from 'containers/ThemeManager/Themeable'\nimport FormLabel from 'components/FormLabel'\nimport Button from 'components/Button'\nimport Icon from 'components/Icon'\nimport IHelp from 'containers/IHelp'\nimport Select from 'react-select'\nimport Creatable from 'react-select/creatable'\nimport { Input } from 'reactstrap'\nimport { startCase, camelCase } from 'lodash'\n\nconst whereOptions = [\n { value: 'left', label: 'Left' },\n { value: 'right', label: 'Right' },\n]\n\nconst getCoolObjectGuy = value => {\n return { value, label: startCase(value) }\n}\n\nconst getRegularObjectGuy = value => {\n return { value, label: value }\n}\n\nexport const RegexClassifier = props => {\n const [atomName, setAtomName] = useState(\n props.classifier\n ? props.classifier.get('atomName')\n ? props.classifier.get('atomName')\n : ''\n : ''\n )\n const [aliases, setAliases] = useState(\n props.classifier\n ? (props.classifier.get('params').get('aliases')\n ? props.classifier.getIn(['params', 'aliases']).toJS()\n : []\n ).map(guy => getRegularObjectGuy(guy))\n : []\n )\n const [disAliases, setDisAliases] = useState(\n props.classifier\n ? (props.classifier.get('params').get('disallowed_aliases')\n ? props.classifier.getIn(['params', 'disallowed_aliases']).toJS()\n : []\n ).map(guy => getRegularObjectGuy(guy))\n : []\n )\n const [regexes, setRegexes] = useState(\n props.classifier\n ? (props.classifier.get('params').get('regexes')\n ? props.classifier.getIn(['params', 'regexes']).toJS()\n : []\n ).map(guy => getRegularObjectGuy(guy))\n : []\n )\n const [proximity, setProximity] = useState(\n props.classifier\n ? props.classifier.getIn(['params', 'proximity'], null)\n : null\n )\n const [proximityValid, setProximityValid] = useState(true)\n const [where, setWhere] = useState(\n props.classifier\n ? (props.classifier.get('params').get('where')\n ? props.classifier.getIn(['params', 'where']).toJS()\n : []\n ).map(guy => getCoolObjectGuy(guy))\n : []\n )\n const [type, setType] = useState(\n props.classifier ? props.classifier.get('type') : 'REGEX'\n )\n\n const updateAtomName = text => {\n if (text === '') {\n setAtomName('')\n } else if (/^[a-zA-Z0-9]+$/.test(text)) {\n setAtomName(camelCase(text.trim()))\n }\n }\n\n useEffect(() => {\n if (proximity) {\n if (/^\\d+$/.test(proximity)) {\n setProximityValid(true)\n } else {\n setProximityValid(false)\n }\n }\n }, [proximity])\n\n const isDifferent = () => {\n if (!props.classifier) {\n return true\n }\n // if type doesnt match it auto different\n if (props.classifier.get('type') !== type) {\n return true\n }\n let isDiff = false\n // check name\n if (atomName !== props.classifier.get('atomName')) {\n isDiff = true\n }\n // check regexes\n if (\n props.classifier.get('params').get('regexes') &&\n props.classifier.get('params').get('regexes').size !== regexes.length\n ) {\n isDiff = true\n } else if (props.classifier.get('params').get('regexes')) {\n props.classifier\n .get('params')\n .get('regexes')\n .forEach(rx => {\n if (regexes.findIndex(reg => reg.value === rx) === -1) {\n isDiff = true\n }\n })\n } else {\n regexes.forEach(rx => {\n if (!props.classifier.get('params').get('regexes')) {\n isDiff = true\n } else {\n if (\n props.classifier\n .get('params')\n .get('regexes')\n .findIndex(reg => reg === rx.value) === -1\n ) {\n isDiff = true\n }\n }\n })\n }\n // return if type REGEX\n if (type === 'REGEX') {\n return isDiff\n }\n // check aliases\n if (\n props.classifier.get('params').get('aliases') &&\n props.classifier.get('params').get('aliases').size !== aliases.length\n ) {\n isDiff = true\n } else if (props.classifier.get('params').get('aliases')) {\n props.classifier\n .get('params')\n .get('aliases')\n .forEach(al => {\n if (aliases.findIndex(alias => alias.value === al) === -1) {\n isDiff = true\n }\n })\n } else {\n aliases.forEach(al => {\n if (!props.classifier.get('params').get('aliases')) {\n isDiff = true\n } else {\n if (\n props.classifier\n .get('params')\n .get('aliases')\n .findIndex(alias => alias === al.value) === -1\n ) {\n isDiff = true\n }\n }\n })\n }\n // check disallowed_aliases\n if (\n props.classifier.get('params').get('disallowed_aliases') &&\n props.classifier.get('params').get('disallowed_aliases').size !==\n disAliases.length\n ) {\n isDiff = true\n } else if (props.classifier.get('params').get('disallowed_aliases')) {\n props.classifier\n .get('params')\n .get('disallowed_aliases')\n .forEach(al => {\n if (disAliases.findIndex(dAlias => dAlias.value === al) === -1) {\n isDiff = true\n }\n })\n } else {\n disAliases.forEach(da => {\n if (!props.classifier.get('params').get('disallowed_aliases')) {\n isDiff = true\n } else {\n if (\n props.classifier\n .get('params')\n .get('disallowed_aliases')\n .findIndex(dAlias => dAlias === da.value) === -1\n ) {\n isDiff = true\n }\n }\n })\n }\n // check proximity\n if (props.classifier.getIn(['params', 'proximity'], null) != proximity) {\n isDiff = true\n }\n // check where\n if (\n props.classifier.get('params').get('where') &&\n props.classifier.get('params').get('where').size !== where.length\n ) {\n isDiff = true\n } else if (props.classifier.get('params').get('where')) {\n props.classifier\n .get('params')\n .get('where')\n .forEach(al => {\n if (where.findIndex(wh => wh.value === al) === -1) {\n isDiff = true\n }\n })\n } else {\n where.forEach(da => {\n if (!props.classifier.get('params').get('where')) {\n isDiff = true\n } else {\n if (\n props.classifier\n .get('params')\n .get('where')\n .findIndex(wh => wh === da.value) === -1\n ) {\n isDiff = true\n }\n }\n })\n }\n return isDiff\n }\n\n const styles = {\n form: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n rowGap: '1em',\n columnGap: '2em',\n },\n label: {\n fontSize: '0.9em',\n alignSelf: 'center',\n },\n inputSpace: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n columnGap: '0.25em',\n },\n card: {\n // height: '150px',\n marginBottom: '1em',\n },\n thingy: {\n fontSize: '0.9em',\n fontWeight: '400',\n margin: '0 0 0.2em 0',\n },\n clicky: {\n fontWeight: '400',\n cursor: 'pointer',\n height: '1.4em',\n alignSelf: 'center',\n },\n }\n\n const updateAliases = params => {\n if (params) {\n setAliases(params)\n } else {\n setAliases([])\n }\n }\n\n const updateDisAliases = params => {\n if (params) {\n setDisAliases(params)\n } else {\n setDisAliases([])\n }\n }\n\n const updateWhere = params => {\n if (params) {\n setWhere(params)\n } else {\n setWhere([])\n }\n }\n\n const updateRegexes = params => {\n if (params) {\n setRegexes(params)\n } else {\n setRegexes([])\n }\n }\n\n const checkIfGood = () => {\n if (!atomName || atomName === '' || (atomName && atomName.includes(' '))) {\n return false\n }\n if (!regexes || regexes.length < 1) {\n return false\n }\n if (type === 'REGEX_WITH_PROXIMITY') {\n if (aliases.length < 1 && disAliases.length < 1) {\n return false\n }\n if (!proximityValid) {\n return false\n }\n }\n return true\n }\n\n const runUpdate = () => {\n if (isDifferent()) {\n let params = { regexes: regexes.map(r => r.value) }\n if (type === 'REGEX_WITH_PROXIMITY') {\n params.aliases = aliases.map(a => a.value)\n params.proximity =\n proximity !== '' && proximity !== null ? proximity : '100'\n params.where = where.map(w => w.value)\n params.disallowed_aliases = disAliases.map(d => d.value)\n if (!params.where || params.where.length < 1) {\n params.where = ['left']\n }\n }\n props.updateCustomClassifiers({\n srnList: [props.classifier.get('srn')],\n updated: {\n atomName,\n type,\n params: params,\n },\n })\n }\n }\n\n const runCreate = () => {\n let params = { regexes: regexes.map(r => r.value) }\n if (type === 'REGEX_WITH_PROXIMITY') {\n params.aliases = aliases.map(a => a.value)\n params.proximity =\n proximity !== '' && proximity !== null ? proximity : '100'\n params.where = where.map(w => w.value)\n params.disallowed_aliases = disAliases.map(d => d.value)\n if (!params.where || params.where.length < 1) {\n params.where = ['left']\n }\n }\n\n props.create({\n create: {\n atomName,\n type,\n params: params,\n },\n })\n }\n\n return (\n \n \n
\n \n\n updateAtomName(params.target.value)}\n readOnly={!props.canEdit}\n />\n
\n
\n \n \n
\n {\n if (props.canEdit) {\n setType(\n type === 'REGEX_WITH_PROXIMITY'\n ? 'REGEX'\n : 'REGEX_WITH_PROXIMITY'\n )\n }\n }}\n >\n With Proximity: \n \n \n \n {type === 'REGEX_WITH_PROXIMITY' && (\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n setProximity(\n params.target.value !== '' ? params.target.value : null\n )\n }\n />\n \n
\n \n \n
\n \n
\n
\n \n \n \n )}\n \n {props.classifier ? (\n \n props.deleteCustomClassifier({\n srnList: [props.classifier.get('srn')],\n })\n }\n size=\"sm\"\n outline\n color=\"danger\"\n disabled={props.deleting || props.updating || !props.canEdit}\n >\n {props.deleting ? (\n \n ) : (\n \n )}\n Delete\n \n ) : (\n \n \n Cancel\n \n )}\n\n \n \n {props.updating || props.creating ? (\n \n ) : (\n \n )}\n {props.classifier ? `Save` : 'Create'}\n \n \n \n
\n )\n}\n\nRegexClassifier.propTypes = {\n classifier: ImmutablePropTypes.map,\n updating: PropTypes.bool,\n deleting: PropTypes.bool,\n canEdit: PropTypes.bool,\n creating: PropTypes.bool,\n deleteCustomClassifier: PropTypes.func,\n updateCustomClassifiers: PropTypes.func,\n create: PropTypes.func,\n cancel: PropTypes.func,\n theme: themeShape,\n}\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(\n {\n deleteCustomClassifier,\n updateCustomClassifiers,\n },\n dispatch\n )\n}\n\nconst withConnect = connect(null, mapDispatchToProps)\n\nexport default compose(themeable, withConnect)(RegexClassifier)\n","import React, { useEffect, useState } from 'react'\nimport { connect } from 'react-redux'\nimport { createStructuredSelector } from 'reselect'\nimport { bindActionCreators } from 'redux'\nimport PropTypes from 'prop-types'\n\nimport { createCustomClassifier } from 'containers/DataClassifierData/actions'\nimport {\n selectCreatingClassifier,\n selectCreatingClassifierError,\n} from 'containers/DataClassifierData/selectors'\n\nimport { FormattedMessage } from 'react-intl'\nimport messages from './messages'\nimport RegexClassifier from './RegexClassifier'\n\nimport { Modal, ModalHeader, ModalBody, Alert } from 'reactstrap'\n\nexport const CreateCustomModal = props => {\n const runCreate = params => {\n props.createCustomClassifier(params)\n }\n\n const [shouldClose, setShouldClose] = useState(false)\n\n useEffect(() => {\n if (props.creating) {\n setShouldClose(true)\n } else {\n if (!props.error && shouldClose) {\n setShouldClose(false)\n props.close()\n } else if (props.error) {\n setShouldClose(false)\n }\n }\n }, [props.creating])\n\n return (\n \n \n \n \n \n {props.error && {`props.error`}}\n \n \n \n )\n}\n\nCreateCustomModal.propTypes = {\n loading: PropTypes.bool,\n isOpen: PropTypes.bool,\n creating: PropTypes.bool,\n submit: PropTypes.func,\n error: PropTypes.string,\n close: PropTypes.func,\n createCustomClassifier: PropTypes.func,\n}\n\nconst mapStateToProps = createStructuredSelector({\n creating: selectCreatingClassifier,\n error: selectCreatingClassifierError,\n})\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(\n {\n createCustomClassifier,\n },\n dispatch\n )\n}\n\nconst withConnect = connect(mapStateToProps, mapDispatchToProps)\n\nexport default withConnect(CreateCustomModal)\n","import React, { Fragment } from 'react'\nimport { connect } from 'react-redux'\nimport { createStructuredSelector } from 'reselect'\nimport { bindActionCreators, compose } from 'redux'\nimport PropTypes from 'prop-types'\nimport ImmutablePropTypes from 'react-immutable-proptypes'\nimport permissionChecker from 'containers/PermissionChecker'\n\nimport { fetchCustomClassifiers } from 'containers/DataClassifierData/actions'\nimport {\n selectCustomClassifiers,\n selectFetchingClassifiers,\n selectDeletingCustomClassifiers,\n selectUpdatingCustomClassifiers,\n} from 'containers/DataClassifierData/selectors'\n\nimport SquareLoadingAnimation from 'components/SquareLoadingAnimation'\nimport Button from 'components/Button'\nimport Icon from 'components/Icon'\nimport TextLink from 'components/TextLink'\n\nimport CreateCustomModal from './CreateCustomModal'\nimport RegexClassifier from './RegexClassifier'\nimport IHelp from 'containers/IHelp'\n\nexport class DataClassifierManagement extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n createModalOpen: false,\n }\n this.styles = {\n container: {\n padding: '1em',\n width: '100%',\n height: '100%',\n display: 'grid',\n gridTemplateRows: 'auto 1fr',\n },\n header: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr auto',\n marginBottom: '1em',\n columnGap: '0.5em',\n },\n cardZone: {\n overflow: 'auto',\n },\n }\n\n if (props.customClassifiers.isEmpty() && !props.loading) {\n props.fetchCustomClassifiers()\n }\n }\n\n openCreateModal = () => {\n this.setState({ createModalOpen: true })\n }\n\n closeCreateModal = () => {\n this.setState({ createModalOpen: false })\n }\n\n renderClassifiers = canMutate => {\n if (this.props.loading) {\n return (\n \n \n \n )\n } else {\n if (this.props.customClassifiers.size < 1) {\n return (\n \n No Custom Classifiers have been found. \n {canMutate && (\n \n \n Click Here\n \n  to create one now.\n \n )}\n \n )\n } else {\n return this.props.customClassifiers.map((cl, index) => (\n \n ))\n }\n }\n }\n\n render() {\n const canMutate = this.props.userHasPermission({\n permissionName: 'edit.customclassifiers',\n })\n\n return (\n
\n
\n
Custom Data Classifiers
\n
\n \n
\n {canMutate ? (\n \n ) : (\n
 
\n )}\n
\n
\n {this.renderClassifiers(canMutate)}\n
\n {this.state.createModalOpen && (\n \n )}\n
\n )\n }\n}\n\nDataClassifierManagement.propTypes = {\n fetchCustomClassifiers: PropTypes.func,\n customClassifiers: ImmutablePropTypes.list,\n deleting: ImmutablePropTypes.map,\n updating: ImmutablePropTypes.map,\n loading: PropTypes.bool,\n userHasPermission: PropTypes.func.isRequired,\n}\n\nconst mapStateToProps = createStructuredSelector({\n customClassifiers: selectCustomClassifiers,\n loading: selectFetchingClassifiers,\n deleting: selectDeletingCustomClassifiers,\n updating: selectUpdatingCustomClassifiers,\n})\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(\n {\n fetchCustomClassifiers,\n },\n dispatch\n )\n}\n\nconst withConnect = connect(mapStateToProps, mapDispatchToProps)\n\nexport default compose(withConnect, permissionChecker)(DataClassifierManagement)\n"],"sourceRoot":""}