UNPKG

cluedin-widget

Version:
432 lines (356 loc) • 17.1 kB
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[17],{ /***/ 2332: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread.js var objectSpread = __webpack_require__(2); var objectSpread_default = /*#__PURE__*/__webpack_require__.n(objectSpread); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(0); var react_default = /*#__PURE__*/__webpack_require__.n(react); // EXTERNAL MODULE: ./node_modules/prop-types/index.js var prop_types = __webpack_require__(1); var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); // EXTERNAL MODULE: ./node_modules/uxi/Button/index.js var Button = __webpack_require__(18); var Button_default = /*#__PURE__*/__webpack_require__.n(Button); // EXTERNAL MODULE: ./node_modules/connected-react-router/lib/index.js var lib = __webpack_require__(25); // EXTERNAL MODULE: ./node_modules/react-intl/lib/index.es.js var index_es = __webpack_require__(4); // EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 18 modules var es = __webpack_require__(8); // EXTERNAL MODULE: ./node_modules/uxi/Text/index.js var Text = __webpack_require__(36); var Text_default = /*#__PURE__*/__webpack_require__.n(Text); // EXTERNAL MODULE: ./node_modules/uxi/Base/index.js var Base = __webpack_require__(72); // EXTERNAL MODULE: ./node_modules/recompose/es/Recompose.js var Recompose = __webpack_require__(6); // EXTERNAL MODULE: ./core/modules/GDPR/actions.js var actions = __webpack_require__(23); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js var classCallCheck = __webpack_require__(12); var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js var createClass = __webpack_require__(13); var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js var possibleConstructorReturn = __webpack_require__(14); var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js var getPrototypeOf = __webpack_require__(15); var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js var inherits = __webpack_require__(16); var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js var assertThisInitialized = __webpack_require__(27); var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized); // EXTERNAL MODULE: ./node_modules/uxi/Input/index.js var Input = __webpack_require__(35); // EXTERNAL MODULE: ./core/modules/core/components/composites/PageLoader.js var PageLoader = __webpack_require__(38); // EXTERNAL MODULE: ./node_modules/uxi/Table/index.js var Table = __webpack_require__(30); // EXTERNAL MODULE: ./core/modules/wms/helpers/entityPropertyConfig.js var entityPropertyConfig = __webpack_require__(109); // EXTERNAL MODULE: ./core/modules/entity/components/composites/EntityLink.js var EntityLink = __webpack_require__(341); // CONCATENATED MODULE: ./core/modules/entity/components/composites/lists/PersonTableList.js var roundNumber = function roundNumber(num) { return Math.round(num * 100) / 100; }; var handleChange = function handleChange(event, data, props) { var onEntitySelected = props.onEntitySelected, personEntities = props.personEntities, selectedEntity = props.selectedEntity; if (onEntitySelected) { var entityToBecomeSelected = personEntities.find(function (e, i) { return i === data[0]; }); onEntitySelected(entityToBecomeSelected, selectedEntity); } }; var PersonTableList_PersonTableList = function PersonTableList(props) { var personEntities = props.personEntities, selectedEntity = props.selectedEntity; return react_default.a.createElement("div", { style: { height: 'calc(100vh - 500px)', overflowY: 'scroll' } }, react_default.a.createElement(Table["Table"], { selectable: true, onChange: function onChange(event, data) { return handleChange(event, data, props); } }, react_default.a.createElement(Table["TableHeader"], null, react_default.a.createElement(Table["TableRow"], null, react_default.a.createElement(Table["TableHeaderColumn"], null, react_default.a.createElement(Text_default.a, { type: "caption" }, "Full name")), react_default.a.createElement(Table["TableHeaderColumn"], null, react_default.a.createElement(Text_default.a, { type: "caption" }, "Likelihood (%)")), react_default.a.createElement(Table["TableHeaderColumn"], null, react_default.a.createElement(Text_default.a, { type: "caption" }, "Job Title")), react_default.a.createElement(Table["TableHeaderColumn"], null, react_default.a.createElement(Text_default.a, { type: "caption" }, "Email")), react_default.a.createElement(Table["TableHeaderColumn"], null, react_default.a.createElement(Text_default.a, { type: "caption" }, "Phone Number")))), react_default.a.createElement(Table["TableBody"], null, function () { return personEntities && personEntities.map && personEntities.map(function (entity) { var properties = entity && entity.data && entity.data.properties ? entity.data.properties : {}; return react_default.a.createElement(Table["TableRow"], { selected: selectedEntity && selectedEntity.id === entity.Id }, react_default.a.createElement(Table["TableRowColumn"], null, react_default.a.createElement(EntityLink["a" /* default */], { entity: entity, openInNewTab: true })), react_default.a.createElement(Table["TableRowColumn"], null, entity.Score ? roundNumber(entity.Score) : 'Not available'), react_default.a.createElement(Table["TableRowColumn"], null, react_default.a.createElement(Text_default.a, null, Object(entityPropertyConfig["f" /* findOnePropertyValue */])(properties, entityPropertyConfig["j" /* jobTitle */]) || 'N/A')), react_default.a.createElement(Table["TableRowColumn"], null, react_default.a.createElement(Text_default.a, null, Object(entityPropertyConfig["f" /* findOnePropertyValue */])(properties, entityPropertyConfig["c" /* email */]) || 'N/A')), react_default.a.createElement(Table["TableRowColumn"], null, react_default.a.createElement(Text_default.a, null, Object(entityPropertyConfig["f" /* findOnePropertyValue */])(properties, entityPropertyConfig["l" /* phoneNumber */]) || 'N/A'))); }); }(selectedEntity)))); }; PersonTableList_PersonTableList.defaultProps = { personEntities: [] }; /* harmony default export */ var lists_PersonTableList = (PersonTableList_PersonTableList); // CONCATENATED MODULE: ./core/modules/GDPR/components/containers/lists/GdprEntitySearchContainer.js var GdprEntitySearchContainer_EntitySearchContainer = /*#__PURE__*/ function (_Component) { inherits_default()(EntitySearchContainer, _Component); function EntitySearchContainer(props) { var _this; classCallCheck_default()(this, EntitySearchContainer); _this = possibleConstructorReturn_default()(this, getPrototypeOf_default()(EntitySearchContainer).call(this, props)); _this.state = { includeUnstructuredData: false, includeExternalData: false }; _this.onIncludeUnstructuredData = _this.onIncludeUnstructuredData.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this))); _this.onIncludeExternalData = _this.onIncludeExternalData.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this))); return _this; } createClass_default()(EntitySearchContainer, [{ key: "onIncludeUnstructuredData", value: function onIncludeUnstructuredData(evt, value) { this.setState({ includeUnstructuredData: value }); } }, { key: "onIncludeExternalData", value: function onIncludeExternalData(evt, value) { this.setState({ includeExternalData: value }); } }, { key: "render", value: function render() { var _this$props = this.props, selectedEntity = _this$props.selectedEntity, onEntitySelected = _this$props.onEntitySelected, personEntities = _this$props.personEntities, fetchPersons = _this$props.fetchPersons, isFetching = _this$props.isFetching; var _this$state = this.state, includeUnstructuredData = _this$state.includeUnstructuredData, includeExternalData = _this$state.includeExternalData; return react_default.a.createElement("div", null, react_default.a.createElement("div", { style: { display: 'flex', alignItems: 'center', padding: '6px 0', justifyContent: 'center' } }, react_default.a.createElement(Input["SearchForm"], { onSubmit: function onSubmit(ev, val) { return fetchPersons({ query: val, includeUnstructuredData: includeUnstructuredData, includeExternalData: includeExternalData }); } }), react_default.a.createElement(Input["Checkbox"], { style: { marginLeft: '16px' }, name: "unstructureData", label: "Include unstructured data", checked: includeUnstructuredData, onChange: this.onIncludeUnstructuredData }), react_default.a.createElement(Input["Checkbox"], { style: { marginLeft: '16px' }, name: "externalSearchData", label: "Include external data", checked: includeExternalData, onChange: this.onIncludeExternalData })), isFetching && react_default.a.createElement("div", { style: { position: 'relative', minHeight: '300px' } }, react_default.a.createElement(PageLoader["a" /* default */], null)), !isFetching && react_default.a.createElement("div", null, personEntities && personEntities.length < 1 ? react_default.a.createElement("div", { style: { textAlign: 'center', padding: '16px' } }, react_default.a.createElement(index_es["FormattedMessage"], { id: "module-gdpr-noResult" })) : react_default.a.createElement(lists_PersonTableList, { selectedEntity: selectedEntity, onEntitySelected: onEntitySelected, personEntities: personEntities }))); } }]); return EntitySearchContainer; }(react["Component"]); GdprEntitySearchContainer_EntitySearchContainer.displayName = 'GdprEntitySearchContainer'; GdprEntitySearchContainer_EntitySearchContainer.propTypes = { selectedEntity: prop_types_default.a.object, onEntitySelected: prop_types_default.a.func, personEntities: prop_types_default.a.object, fetchPersons: prop_types_default.a.func, isFetching: prop_types_default.a.bool }; GdprEntitySearchContainer_EntitySearchContainer.defaultProps = { selectedEntity: {}, onEntitySelected: function onEntitySelected() {}, personEntities: {}, fetchPersons: function fetchPersons() {}, isFetching: false }; /* harmony default export */ var GdprEntitySearchContainer = (GdprEntitySearchContainer_EntitySearchContainer); // CONCATENATED MODULE: ./core/modules/GDPR/components/pages/GdprNewSubjectAccessFindEntity.js var GdprNewSubjectAccessFindEntity_GdprNewSubjectAccessFindEntity = function GdprNewSubjectAccessFindEntity(_ref) { var next = _ref.next, isFetching = _ref.isFetching, entities = _ref.entities, onPersonSelected = _ref.onPersonSelected, hasSelected = _ref.hasSelected, selectedEntity = _ref.selectedEntity, currentSAR = _ref.currentSAR, fetchPersons = _ref.fetchPersons; return react_default.a.createElement("div", null, react_default.a.createElement(Base["DivPadding"], { padding: "S" }, react_default.a.createElement(Text_default.a, null, react_default.a.createElement(index_es["FormattedHTMLMessage"], { id: "module-gdpr-html-selectOnePerson" }))), react_default.a.createElement(GdprEntitySearchContainer, { isFetching: isFetching, selectedEntity: selectedEntity, onEntitySelected: onPersonSelected, personEntities: entities, fetchPersons: fetchPersons }), react_default.a.createElement(Base["DivPadding"], { padding: "S" }, react_default.a.createElement(Button_default.a, { style: { marginLeft: '15px' }, type: "primary", click: function click() { return next(objectSpread_default()({}, currentSAR, { State: 2 }), selectedEntity.guid); }, message: react_default.a.createElement(index_es["FormattedMessage"], { id: "module-gdpr-next" }), disabled: isFetching || !hasSelected }))); }; var GdprNewSubjectAccessFindEntityEnhanced = Object(Recompose["b" /* compose */])(Object(Recompose["c" /* lifecycle */])({ componentDidMount: function componentDidMount() { var currentSAR = this.props.currentSAR; if (currentSAR && currentSAR.Id) { var _this$props = this.props, fetchPersons = _this$props.fetchPersons, Identifiers = _this$props.currentSAR.Identifiers; var identifiersSearch = Identifiers && Object.keys(Identifiers).map(function (key) { return Identifiers[key]; }).join(' '); fetchPersons({ query: identifiersSearch }); } }, componentDidUpdate: function componentDidUpdate(prevProps) { var currentSARId = this.props.currentSARId; var oldSarId = prevProps.currentSARId; if (currentSARId && oldSarId && currentSARId !== oldSarId) { var _this$props2 = this.props, fetchPersons = _this$props2.fetchPersons, Identifiers = _this$props2.currentSAR.Identifiers; var identifiersSearch = Identifiers && Object.keys(Identifiers).map(function (key) { return Identifiers[key]; }).join(' '); fetchPersons({ query: identifiersSearch }); } } }))(GdprNewSubjectAccessFindEntity_GdprNewSubjectAccessFindEntity); GdprNewSubjectAccessFindEntity_GdprNewSubjectAccessFindEntity.displayName = 'GdprNewSubjectAccessFindEntity'; GdprNewSubjectAccessFindEntity_GdprNewSubjectAccessFindEntity.propTypes = { next: prop_types_default.a.func, isFetching: prop_types_default.a.bool, entities: prop_types_default.a.array, onPersonSelected: prop_types_default.a.func, hasSelected: prop_types_default.a.bool, selectedEntity: prop_types_default.a.object, currentSAR: prop_types_default.a.object, fetchPersons: prop_types_default.a.func }; GdprNewSubjectAccessFindEntity_GdprNewSubjectAccessFindEntity.defaultProps = { next: function next() {}, isFetching: false, entities: [], onPersonSelected: function onPersonSelected() {}, hasSelected: false, selectedEntity: {}, currentSAR: {}, fetchPersons: function fetchPersons() {} }; var mapToStateProps = function mapToStateProps(_ref2, _ref3) { var _ref2$GDPR = _ref2.GDPR, isFetchingPersonEntitiesForSAR = _ref2$GDPR.isFetchingPersonEntitiesForSAR, invalidPersonEntitiesForSar = _ref2$GDPR.invalidPersonEntitiesForSar, personEntitiesForSar = _ref2$GDPR.personEntitiesForSar, selectedPersonEntityForSar = _ref2$GDPR.selectedPersonEntityForSar, currentSAR = _ref2$GDPR.currentSAR; var id = _ref3.match.params.id; return { isFetching: isFetchingPersonEntitiesForSAR, invalid: invalidPersonEntitiesForSar, entities: personEntitiesForSar, hasSelected: !!selectedPersonEntityForSar, selectedEntity: selectedPersonEntityForSar, currentSARId: id, currentSAR: currentSAR }; }; var GdprNewSubjectAccessFindEntity_mapDispatchToProps = function mapDispatchToProps(dispatch) { return { onPersonSelected: function onPersonSelected(entity) { if (!entity) { dispatch(Object(actions["k" /* clearSelectionPersonForSar */])()); } else { dispatch(Object(actions["Nb" /* updatePersonForSar */])(entity)); } }, prev: function prev() { return dispatch(Object(lib["push"])('/gdpr/new')); }, next: function next(sar, guid) { dispatch(Object(actions["xb" /* shouldSaveSarCreateReportAndNavigate */])(sar, "/gdpr/edit/validate/".concat(sar.Id), guid)); }, fetchPersons: function fetchPersons(searchArgs) { return dispatch(Object(actions["eb" /* shouldFetchPerson */])(searchArgs)); } // onShouldSubscribe: (guid, sarId) => shouldSubscribeForUserData(guid, sarId), }; }; /* harmony default export */ var pages_GdprNewSubjectAccessFindEntity = __webpack_exports__["default"] = (Object(es["connect"])(mapToStateProps, GdprNewSubjectAccessFindEntity_mapDispatchToProps)(GdprNewSubjectAccessFindEntityEnhanced)); /***/ }) }]);