cluedin-widget
Version:
942 lines (788 loc) • 37.3 kB
JavaScript
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[20],{
/***/ 1893:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
/* harmony import */ var _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var uxi_Motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(102);
/* harmony import */ var uxi_Motion__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(uxi_Motion__WEBPACK_IMPORTED_MODULE_3__);
function _templateObject() {
var data = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n width: 100%;\n text-align: center;\n display: flex;\n justify-content: center;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
var CenteredLoaderUI = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].div(_templateObject());
var CenteredLoader = function CenteredLoader() {
return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(CenteredLoaderUI, null, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(uxi_Motion__WEBPACK_IMPORTED_MODULE_3__["Loader"], null));
};
/* harmony default export */ __webpack_exports__["a"] = (CenteredLoader);
/***/ }),
/***/ 2333:
/***/ (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/@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/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);
// EXTERNAL MODULE: ./node_modules/recompose/es/Recompose.js
var Recompose = __webpack_require__(6);
// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 18 modules
var es = __webpack_require__(8);
// EXTERNAL MODULE: ./node_modules/connected-react-router/lib/index.js
var lib = __webpack_require__(25);
// EXTERNAL MODULE: ./core/modules/GDPR/actions.js
var actions = __webpack_require__(23);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(3);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(17);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// 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/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/uxi/Indicator/index.js
var Indicator = __webpack_require__(43);
// EXTERNAL MODULE: ./node_modules/uxi/Icons/index.js
var Icons = __webpack_require__(9);
// EXTERNAL MODULE: ./node_modules/react-intl/lib/index.es.js
var index_es = __webpack_require__(4);
// EXTERNAL MODULE: ./node_modules/uxi/Layout/index.js
var Layout = __webpack_require__(26);
// EXTERNAL MODULE: ./node_modules/rc-tooltip/es/index.js + 36 modules
var rc_tooltip_es = __webpack_require__(56);
// EXTERNAL MODULE: ./core/modules/GDPR/components/containers/GdprReportContainer.js + 18 modules
var GdprReportContainer = __webpack_require__(410);
// EXTERNAL MODULE: ./node_modules/uxi/Alert/index.js
var Alert = __webpack_require__(24);
var Alert_default = /*#__PURE__*/__webpack_require__.n(Alert);
// EXTERNAL MODULE: ./node_modules/uxi/Input/index.js
var Input = __webpack_require__(35);
// EXTERNAL MODULE: ./node_modules/uxi/Stepper/index.js
var Stepper = __webpack_require__(80);
// EXTERNAL MODULE: ./node_modules/uxi/Dialog/index.js
var Dialog = __webpack_require__(68);
var Dialog_default = /*#__PURE__*/__webpack_require__.n(Dialog);
// EXTERNAL MODULE: ./node_modules/uxi/Panel/index.js
var Panel = __webpack_require__(34);
var Panel_default = /*#__PURE__*/__webpack_require__.n(Panel);
// EXTERNAL MODULE: ./core/modules/core/actions.js
var core_actions = __webpack_require__(60);
// CONCATENATED MODULE: ./core/modules/GDPR/components/containers/Dialogs/GdprExtendReport.js
var successAlert = {
type: 'success',
title: null,
description: react_default.a.createElement("div", {
style: {
maxWidth: '460px'
}
}, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-extendReportSuccessTitle",
defaultMessage: "Uploaded successfuly!"
}), react_default.a.createElement("br", null), react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-extendReportSuccessText",
defaultMessage: "We will generate a new report for this SAR using the new data once they have been processed"
}))
};
var getInitialState = function getInitialState(props) {
return {
selectedTransform: props.availableTransforms ? props.availableTransforms[0] || false : false,
step: 0,
file: []
};
};
var GdprExtendReport_GdprExtendReport =
/*#__PURE__*/
function (_Component) {
inherits_default()(GdprExtendReport, _Component);
function GdprExtendReport(props) {
var _this;
classCallCheck_default()(this, GdprExtendReport);
_this = possibleConstructorReturn_default()(this, getPrototypeOf_default()(GdprExtendReport).call(this, props));
_this.state = getInitialState(_this.props);
_this.onFileChange = _this.onFileChange.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.onTransformerSelectChange = _this.onTransformerSelectChange.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.handleSubmit = _this.handleSubmit.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.handleClose = _this.handleClose.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.resetState = _this.resetState.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
return _this;
}
createClass_default()(GdprExtendReport, [{
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
var closeDialog = nextProps.closeDialog,
shouldShowSuccessAlert = nextProps.shouldShowSuccessAlert;
if (!this.props.postExtendReportSuccess && nextProps.postExtendReportSuccess) {
// clue posting suceedded, reset dialog state
this.resetState(); // close dialog
if (closeDialog) closeDialog(); // showNotification
shouldShowSuccessAlert();
}
}
}, {
key: "onFileChange",
value: function onFileChange(e) {
var files = e.target.files;
var file = files[0];
this.setState({
file: file
}); // it's a File
}
}, {
key: "onTransformerSelectChange",
value: function onTransformerSelectChange(e, selectedIndex) {
var availableTransforms = this.props.availableTransforms;
var transformer = availableTransforms[selectedIndex];
if (transformer) {
this.setState({
selectedTransform: transformer.Transformer
});
}
}
}, {
key: "handleClose",
value: function handleClose() {
var _this$props = this.props,
onClose = _this$props.onClose,
resetExtendReportStoreValues = _this$props.resetExtendReportStoreValues;
this.resetState();
if (resetExtendReportStoreValues) {
resetExtendReportStoreValues();
}
if (onClose) {
onClose();
}
}
}, {
key: "resetState",
value: function resetState(props) {
this.setState(getInitialState(props || this.props));
}
}, {
key: "handleSubmit",
value: function handleSubmit() {
var _this$props2 = this.props,
postExtendReport = _this$props2.postExtendReport,
sar = _this$props2.sar;
var _this$state = this.state,
selectedTransform = _this$state.selectedTransform,
file = _this$state.file;
if (file && postExtendReport && selectedTransform && selectedTransform.Id) {
postExtendReport(sar, selectedTransform.Id, file);
}
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var _this$props3 = this.props,
show = _this$props3.show,
availableTransforms = _this$props3.availableTransforms,
postExtendReportSuccess = _this$props3.postExtendReportSuccess,
postExtendReportInvalid = _this$props3.postExtendReportInvalid,
postExtendReportConflicted = _this$props3.postExtendReportConflicted,
postExtendReportLoading = _this$props3.postExtendReportLoading,
availableTransformsError = _this$props3.availableTransformsError;
var _this$state2 = this.state,
step = _this$state2.step,
file = _this$state2.file,
selectedTransform = _this$state2.selectedTransform;
if (!show) {
return null;
}
var errorMsg = postExtendReportInvalid.response && postExtendReportInvalid.response && postExtendReportInvalid.response.body && postExtendReportInvalid.response.body.Message;
var errorFeedBack = null;
if (postExtendReportInvalid) {
if (errorMsg) {
errorFeedBack = react_default.a.createElement("div", null, react_default.a.createElement(Alert_default.a, {
type: "error"
}, "An error occured while sending the data. ", react_default.a.createElement("br", null), "Details: ", react_default.a.createElement("br", null), errorMsg));
} else {
errorFeedBack = react_default.a.createElement("div", null, react_default.a.createElement(Alert_default.a, {
type: "error"
}, "An error occured while sending the data. ", react_default.a.createElement("br", null)));
}
}
var noTransformsAvail = react_default.a.createElement("div", null, react_default.a.createElement(Alert_default.a, {
type: "info"
}, "No transformers found."));
return react_default.a.createElement(Dialog_default.a, {
onClose: this.handleClose,
show: show
}, react_default.a.createElement(Panel_default.a, {
onClose: this.handleClose
}, react_default.a.createElement(Panel["PanelHeader"], {
title: 'Select Transform'
}), react_default.a.createElement(Panel["PanelContent"], {
style: {
maxHeight: 'calc(80vh - calc( 2 * 50px ))',
minHeight: '60vh'
}
}, react_default.a.createElement("div", {
style: {
borderBottom: '1px solid #cecece'
}
}, react_default.a.createElement(Stepper["Stepper"], {
linear: true,
activeStep: step + 1,
nowrap: true
}, react_default.a.createElement(Stepper["Step"], null, react_default.a.createElement(Stepper["StepButton"], {
onClick: function onClick() {
return _this2.setState({
step: 0
});
}
}, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-extendReport-steps-ChooseTransform"
}))), react_default.a.createElement(Stepper["Step"], null, react_default.a.createElement(Stepper["StepButton"], {
onClick: function onClick() {}
}, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-extendReport-steps-UploadFile"
}))))), postExtendReportSuccess && react_default.a.createElement(Alert_default.a, {
type: "success"
}, "Data have been sent successfuly. ", react_default.a.createElement("br", null), "You can now close this dialog."), postExtendReportSuccess && react_default.a.createElement(Alert_default.a, {
type: "success"
}, "Data have been sent successfuly. ", react_default.a.createElement("br", null), "You can now close this dialog."), errorFeedBack, postExtendReportConflicted && react_default.a.createElement(Alert_default.a, {
type: "error"
}, "A file has already been attached to extend this SAR ", react_default.a.createElement("br", null)), availableTransformsError && react_default.a.createElement(Alert_default.a, {
type: "error"
}, "We could not find any transforms"), // eslint-disable-next-line no-nested-ternary
availableTransforms && availableTransforms.length === 0 ? noTransformsAvail : step === 0 ? react_default.a.createElement(Layout["Flex"], {
style: {
marginTop: '80px'
}
}, react_default.a.createElement("div", {
style: {
width: '280px'
}
}, react_default.a.createElement(Input["Select"], {
isFullWidth: true,
onChange: this.onTransformerSelectChange
}, availableTransforms.map(function (_ref) {
var Id = _ref.Id,
Name = _ref.Name;
return react_default.a.createElement(Layout["Flex"], {
value: Id
}, Name);
})))) : react_default.a.createElement(Layout["Flex"], {
style: {
marginTop: '80px',
flexDirection: 'column'
}
}, !postExtendReportSuccess && react_default.a.createElement(Layout["Flex"], {
style: {
marginTop: '80px',
flexDirection: 'column'
}
}, react_default.a.createElement(Input["FileInput"], {
label: 'Choose file',
onChange: this.onFileChange
}), react_default.a.createElement("div", null, file && file.name || null)))), react_default.a.createElement(Panel["PanelFooter"], {
hasCancel: true
}, step === 0 ? react_default.a.createElement(Button_default.a, {
onClick: function onClick() {
_this2.setState({
step: 1
});
},
type: "primary",
disabled: !selectedTransform,
message: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-choosePerson"
})
}) : react_default.a.createElement(Button_default.a, {
disabled: !file || postExtendReportSuccess,
icon: postExtendReportLoading ? react_default.a.createElement(Indicator["Loader"], null) : react_default.a.createElement(Icons["Upload"], null),
onClick: this.handleSubmit,
type: "primary",
message: 'Upload'
}))));
}
}]);
return GdprExtendReport;
}(react["Component"]);
var GdprExtendReportEnhanced = Object(Recompose["b" /* compose */])(Object(Recompose["c" /* lifecycle */])({
componentDidMount: function componentDidMount() {
var fetchTransforms = this.props.fetchTransforms;
if (fetchTransforms) {
fetchTransforms();
}
}
}), Object(Recompose["a" /* branch */])(function (_ref2) {
var availableTransformsLoading = _ref2.availableTransformsLoading;
return availableTransformsLoading;
}, Object(Recompose["e" /* renderComponent */])(function () {
return '';
})))(GdprExtendReport_GdprExtendReport);
GdprExtendReport_GdprExtendReport.displayName = 'GdprExtendReport';
GdprExtendReport_GdprExtendReport.propTypes = {
sar: prop_types_default.a.object,
availableTransforms: []
};
GdprExtendReport_GdprExtendReport.defaultProps = {
sar: {},
availableTransforms: []
};
var mapStateToProps = function mapStateToProps(_ref3) {
var _ref3$GDPR = _ref3.GDPR,
availableTransforms = _ref3$GDPR.availableTransforms,
availableTransformsLoading = _ref3$GDPR.availableTransformsLoading,
availableTransformsInvalid = _ref3$GDPR.availableTransformsInvalid,
postExtendReport = _ref3$GDPR.postExtendReport,
postExtendReportSuccess = _ref3$GDPR.postExtendReportSuccess,
postExtendReportInvalid = _ref3$GDPR.postExtendReportInvalid,
postExtendReportConflicted = _ref3$GDPR.postExtendReportConflicted,
postExtendReportLoading = _ref3$GDPR.postExtendReportLoading;
return {
availableTransforms: availableTransforms,
availableTransformsLoading: availableTransformsLoading,
availableTransformsError: availableTransformsInvalid,
postExtendReport: postExtendReport,
postExtendReportSuccess: postExtendReportSuccess,
postExtendReportInvalid: postExtendReportInvalid,
postExtendReportConflicted: postExtendReportConflicted,
postExtendReportLoading: postExtendReportLoading
};
};
var GdprExtendReport_mapDispatchToProps = function mapDispatchToProps(dispatch) {
return {
resetExtendReportStoreValues: function resetExtendReportStoreValues() {
return dispatch(Object(actions["G" /* resetPostExtendReportAction */])());
},
fetchTransforms: function fetchTransforms() {
return dispatch(Object(actions["bb" /* shouldFetchAvailableTransforms */])());
},
postExtendReport: function postExtendReport(sar, transformId, file) {
return dispatch(Object(actions["rb" /* shouldPostExtendReportData */])(sar, transformId, file));
},
shouldShowSuccessAlert: function shouldShowSuccessAlert() {
return dispatch(Object(core_actions["c" /* shouldShowAlert */])(successAlert));
}
};
};
/* harmony default export */ var Dialogs_GdprExtendReport = (Object(es["connect"])(mapStateToProps, GdprExtendReport_mapDispatchToProps)(GdprExtendReportEnhanced));
// CONCATENATED MODULE: ./core/modules/GDPR/components/composites/ReviewGeneratedReport.js
var ReviewGeneratedReport_ReviewGeneratedReport =
/*#__PURE__*/
function (_Component) {
inherits_default()(ReviewGeneratedReport, _Component);
function ReviewGeneratedReport(props) {
var _this;
classCallCheck_default()(this, ReviewGeneratedReport);
_this = possibleConstructorReturn_default()(this, getPrototypeOf_default()(ReviewGeneratedReport).call(this, props));
_this.state = {
showExtendReportPopup: false,
reportSettingsHasBeenTouched: false,
reportSettings: {
ExcludedGuids: [],
ExcludedEntityType: [],
ExcludedProviders: [],
ExcludedProperties: [],
ExcludeProvidersDefinition: []
}
};
_this.handleExcludedGuidsChange = _this.handleExcludedGuidsChange.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.handleExcludedEntityTypeChange = _this.handleExcludedEntityTypeChange.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
_this.closeDialog = _this.closeDialog.bind(assertThisInitialized_default()(assertThisInitialized_default()(_this)));
return _this;
}
createClass_default()(ReviewGeneratedReport, [{
key: "componentWillReceiveProps",
value: function componentWillReceiveProps() {
this.resetState();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var onResetRegenerateSARReportAction = this.props.onResetRegenerateSARReportAction;
if (onResetRegenerateSARReportAction) {
onResetRegenerateSARReportAction();
}
}
}, {
key: "resetState",
value: function resetState() {
this.setState({
reportSettingsHasBeenTouched: false,
reportSettings: {
ExcludedGuids: [],
ExcludedEntityType: [],
ExcludedProviders: [],
ExcludedProperties: [],
ExcludeProvidersDefinition: []
}
});
}
}, {
key: "handleChangeByKeyName",
value: function handleChangeByKeyName(event, checked, value, reportSettingsKey) {
var reportSettings = this.state.reportSettings;
var theKeyValue = reportSettings[reportSettingsKey];
var newExcludedValues = toConsumableArray_default()(theKeyValue);
if (!checked) {
if (newExcludedValues.indexOf(value) > -1) {// noop
} else {
newExcludedValues.push(value);
}
} else {
newExcludedValues = newExcludedValues.filter(function (x) {
return x !== value;
});
}
var newReportSettings = objectSpread_default()({}, this.state.reportSettings, defineProperty_default()({}, reportSettingsKey, newExcludedValues));
var itemsToExcludeCount = Object.keys(newReportSettings).reduce(function (accu, key) {
return accu + newReportSettings[key].length;
}, 0);
this.setState({
reportSettingsHasBeenTouched: itemsToExcludeCount > 0,
reportSettings: newReportSettings
});
}
}, {
key: "handleExcludedGuidsChange",
value: function handleExcludedGuidsChange(event, checked, value) {
this.handleChangeByKeyName(event, checked, value, 'ExcludedGuids');
}
}, {
key: "handleExcludedEntityTypeChange",
value: function handleExcludedEntityTypeChange(event, checked, value) {
this.handleChangeByKeyName(event, checked, value, 'ExcludedEntityType');
}
}, {
key: "handleExcludedProvidersChange",
value: function handleExcludedProvidersChange(event, checked, value) {
this.handleChangeByKeyName(event, checked, value, 'ExcludedProviders');
}
}, {
key: "closeDialog",
value: function closeDialog() {
var onResetPostExtendReportAction = this.props.onResetPostExtendReportAction;
this.setState({
showExtendReportPopup: false
});
if (onResetPostExtendReportAction) {
onResetPostExtendReportAction();
}
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var _this$props = this.props,
approveReport = _this$props.approveReport,
currentSAR = _this$props.currentSAR,
id = _this$props.match.params.id,
isFetchingRegenerateReport = _this$props.isFetchingRegenerateReport,
isFetchingJsonReportError = _this$props.isFetchingJsonReportError,
isExtendedSar = _this$props.isExtendedSar;
var reportIsBeingProcessed = !currentSAR.ReportStatus || currentSAR.ReportStatus === 'Generating' || currentSAR.ReportStatus === 'RegeneratingExcludedGuids' || currentSAR.ReportStatus === 'RegeneratingClueTransform';
var _this$state = this.state,
reportSettings = _this$state.reportSettings,
reportSettingsHasBeenTouched = _this$state.reportSettingsHasBeenTouched,
showExtendReportPopup = _this$state.showExtendReportPopup;
var ReportUri = currentSAR.ReportUri,
ExportUri = currentSAR.ExportUri,
ReportJsonUri = currentSAR.ReportJsonUri;
var validateOrRegenerageReportButton = react_default.a.createElement(Button_default.a, {
type: reportSettingsHasBeenTouched ? 'warning' : 'primary',
icon: // eslint-disable-next-line no-nested-ternary
isFetchingRegenerateReport ? react_default.a.createElement(Indicator["Loader"], null) : reportSettingsHasBeenTouched ? react_default.a.createElement(Icons["Iteration"], null) : react_default.a.createElement(Icons["Done"], null),
disabled: !ReportUri || isFetchingJsonReportError || isFetchingRegenerateReport || reportIsBeingProcessed,
onClick: function onClick() {
approveReport(currentSAR, reportSettings, reportSettingsHasBeenTouched);
},
text: reportSettingsHasBeenTouched ? react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-regenerateReport"
}) : react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-approveReport"
})
});
var extendReportButton = isExtendedSar ? react_default.a.createElement(Button_default.a, {
disabled: !ReportUri || isFetchingJsonReportError || isFetchingRegenerateReport || reportIsBeingProcessed,
icon: react_default.a.createElement(Icons["Upload"], null),
onClick: function onClick() {
_this2.setState({
showExtendReportPopup: true
}); // approveReport(currentSAR, reportSettings, reportSettingsHasBeenTouched);
},
text: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-extendReport"
}),
style: {
marginRight: '8px'
}
}) : null;
return react_default.a.createElement("div", {
style: {
padding: '15px'
}
}, react_default.a.createElement("div", null, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-approveBeforeSending"
})), react_default.a.createElement("div", {
style: {
margin: '15px 0'
}
}, react_default.a.createElement("h2", null, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-generatedReport"
})), react_default.a.createElement("p", null, "Untick the box next to the data you want to exclude from the report. Then click regenerate, which will regenerate the report, excluding the data item you unticked."), react_default.a.createElement("br", null), react_default.a.createElement("br", null), react_default.a.createElement("hr", null), react_default.a.createElement(Layout["Flex"], {
style: {
flexFlow: 'row wrap',
justifyContent: 'flex-start'
}
}, react_default.a.createElement(rc_tooltip_es["default"], {
overlay: react_default.a.createElement("span", null, "An individual is already attached to this SAR"),
trigger: ['hover'],
placement: "top",
defaultVisible: currentSAR.EntityId !== '00000000-0000-0000-0000-000000000000' ? false : undefined
}, react_default.a.createElement("div", null, react_default.a.createElement(Button_default.a, {
style: {
margin: '8px'
},
disabled: true,
icon: react_default.a.createElement(Icons["Arrowleft"], null),
text: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-back"
})
}))), ReportJsonUri && react_default.a.createElement(rc_tooltip_es["default"], {
placement: 'top',
trigger: ['hover'],
overlay: react_default.a.createElement("div", null, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-openFullPage"
}))
}, react_default.a.createElement("div", null, react_default.a.createElement(Button_default.a, {
target: "_blank",
style: {
margin: '8px'
},
link: "/admin/gdpr/gdprReport/".concat(currentSAR.Id),
disabled: isFetchingJsonReportError || reportIsBeingProcessed,
icon: react_default.a.createElement(Icons["Externallink"], null)
}))), ReportJsonUri && react_default.a.createElement(rc_tooltip_es["default"], {
placement: 'top',
trigger: ['hover'],
overlay: react_default.a.createElement("div", null, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-downloadFiles"
}))
}, react_default.a.createElement("div", null, react_default.a.createElement(Button_default.a, {
target: "_blank",
style: {
margin: '8px'
},
link: ExportUri,
icon: react_default.a.createElement(Icons["Download"], null),
disabled: isFetchingJsonReportError || reportIsBeingProcessed
}))), ReportJsonUri && react_default.a.createElement(rc_tooltip_es["default"], {
placement: 'top',
trigger: ['hover'],
overlay: react_default.a.createElement("div", null, react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-gdpr-print-report"
}))
}, react_default.a.createElement("div", null, react_default.a.createElement(Button_default.a, {
target: "_blank",
style: {
margin: '8px'
},
link: "/admin/gdpr/gdprReport/".concat(currentSAR.Id, "?print=1"),
icon: react_default.a.createElement(Icons["Printer"], null),
disabled: isFetchingJsonReportError || reportIsBeingProcessed
}))), react_default.a.createElement("div", {
style: {
marginLeft: 'auto',
display: 'flex'
}
}, extendReportButton, validateOrRegenerageReportButton)), react_default.a.createElement("hr", null), react_default.a.createElement("div", {
style: {
border: '1px solid #ccc',
maxHeight: '800px',
overflowY: 'scroll'
}
}, react_default.a.createElement(GdprReportContainer["default"], {
reportStatus: currentSAR.ReportStatus,
sarId: id,
reportSettings: reportSettings,
onExcludedGuidsChange: this.handleExcludedGuidsChange,
onExcludedEntityTypeChange: this.handleExcludedEntityTypeChange,
onExcludedProvidersChange: this.handleExcludedProvidersChange
}))), react_default.a.createElement(Layout["Flex"], {
style: {
justifyContent: 'flex-end'
}
}, extendReportButton, validateOrRegenerageReportButton), react_default.a.createElement(Dialogs_GdprExtendReport, {
sar: currentSAR,
show: showExtendReportPopup,
onClose: function onClose() {
return _this2.setState({
showExtendReportPopup: false
});
},
closeDialog: this.closeDialog
}));
}
}]);
return ReviewGeneratedReport;
}(react["Component"]);
ReviewGeneratedReport_ReviewGeneratedReport.displayName = 'ReviewGeneratedReport';
ReviewGeneratedReport_ReviewGeneratedReport.propTypes = {
approveReport: prop_types_default.a.func,
currentSAR: prop_types_default.a.object
};
ReviewGeneratedReport_ReviewGeneratedReport.defaultProps = {
approveReport: function approveReport() {},
currentSAR: {}
};
/* harmony default export */ var composites_ReviewGeneratedReport = (ReviewGeneratedReport_ReviewGeneratedReport);
// EXTERNAL MODULE: ./core/modules/GDPR/components/composites/CenteredLoader.js
var CenteredLoader = __webpack_require__(1893);
// CONCATENATED MODULE: ./core/modules/GDPR/components/pages/GdprNewSubjectAccessValidateReport.js
var GdprNewSubjectAccessValidateReport_GdprValidateReportContainer =
/*#__PURE__*/
function (_Component) {
inherits_default()(GdprValidateReportContainer, _Component);
function GdprValidateReportContainer(props) {
var _this;
classCallCheck_default()(this, GdprValidateReportContainer);
_this = possibleConstructorReturn_default()(this, getPrototypeOf_default()(GdprValidateReportContainer).call(this, props));
_this.state = {
isPolling: false
};
return _this;
}
createClass_default()(GdprValidateReportContainer, [{
key: "componentDidMount",
value: function componentDidMount() {
var isPolling = this.state.isPolling;
var _this$props = this.props,
startPolling = _this$props.startPolling,
currentSAR = _this$props.currentSAR;
if (currentSAR && startPolling && !isPolling) {
startPolling(currentSAR);
this.setState({
isPolling: true
});
}
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
var isPolling = this.state.isPolling;
var _this$props2 = this.props,
stopPooling = _this$props2.stopPooling,
startPolling = _this$props2.startPolling;
if (!isPolling && nextProps.currentSAR && (!nextProps.currentSAR.ReportStatus || nextProps.currentSAR.ReportStatus === 'Generating' || nextProps.currentSAR.ReportStatus === 'RegeneratingExcludedGuids' || nextProps.currentSAR.ReportStatus === 'RegeneratingClueTransform')) {
startPolling(nextProps.currentSAR);
this.setState({
isPolling: true
});
}
if (nextProps.currentSAR && isPolling && (nextProps.currentSAR.ReportStatus === 'Generated' || nextProps.currentSAR.ReportStatus === 'Regenerated')) {
stopPooling();
this.setState({
isPolling: false
});
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var isPolling = this.state.isPolling;
var stopPooling = this.props.stopPooling;
if (isPolling) {
stopPooling();
this.setState({
isPolling: false
});
}
}
}, {
key: "render",
value: function render() {
return react_default.a.createElement(composites_ReviewGeneratedReport, this.props);
}
}]);
return GdprValidateReportContainer;
}(react["Component"]);
var GdprValidateReportContainerEnhanced = Object(Recompose["b" /* compose */])(Object(Recompose["a" /* branch */])(function (_ref) {
var currentSAR = _ref.currentSAR;
return !currentSAR;
}, Object(Recompose["e" /* renderComponent */])(CenteredLoader["a" /* default */])))(GdprNewSubjectAccessValidateReport_GdprValidateReportContainer);
var mapToStateProps = function mapToStateProps(_ref2) {
var _ref2$GDPR = _ref2.GDPR,
isFetchingJsonReportError = _ref2$GDPR.isFetchingJsonReportError,
currentSAR = _ref2$GDPR.currentSAR,
isLookingForReport = _ref2$GDPR.isLookingForReport,
isFetchingRegenerateReport = _ref2$GDPR.isFetchingRegenerateReport,
regenerateReportError = _ref2$GDPR.regenerateReportError,
regenerateReportSuccess = _ref2$GDPR.regenerateReportSuccess,
features = _ref2.core.features;
return {
isFetchingJsonReportError: isFetchingJsonReportError,
isLookingForReport: isLookingForReport,
currentSAR: currentSAR,
isFetchingRegenerateReport: isFetchingRegenerateReport,
regenerateReportError: regenerateReportError,
regenerateReportSuccess: regenerateReportSuccess,
// isExtendedSar: hasFeature('extended-sar'), // this selector is useless really -df
isExtendedSar: features.includes('extended-sar')
};
};
var GdprNewSubjectAccessValidateReport_mapDispatchToProps = function mapDispatchToProps(dispatch, _ref3) {
var id = _ref3.match.params.id;
return {
onResetRegenerateSARReportAction: function onResetRegenerateSARReportAction() {
dispatch(Object(actions["H" /* resetRegenerateSARReportAction */])());
},
onResetPostExtendReportAction: function onResetPostExtendReportAction() {
dispatch(Object(actions["G" /* resetPostExtendReportAction */])());
},
approveReport: function approveReport(sar, reportSettings, reportSettingsHasBeenTouched) {
if (!reportSettingsHasBeenTouched) {
dispatch(Object(actions["wb" /* shouldSaveSarAndNavigate */])(objectSpread_default()({}, sar, {
State: 3
}), "/gdpr/edit/sendReport/".concat(id)));
} else {
dispatch(Object(actions["tb" /* shouldRegenerateSARReport */])(sar, reportSettings));
}
},
startPolling: function startPolling(sar) {
dispatch(Object(actions["Bb" /* shouldStartPollingForReport */])(sar));
},
stopPooling: function stopPooling() {
Object(actions["T" /* shouldClearLongPoolingForReport */])();
},
goToPreviousSARFlowStep: function goToPreviousSARFlowStep() {
dispatch(Object(lib["push"])("/gdpr/edit/findEntity/".concat(id)));
}
};
};
/* harmony default export */ var GdprNewSubjectAccessValidateReport = __webpack_exports__["default"] = (Object(es["connect"])(mapToStateProps, GdprNewSubjectAccessValidateReport_mapDispatchToProps)(GdprValidateReportContainerEnhanced));
/***/ })
}]);