@undp/carbon-library 1.0.41-CARBON-329.7 → 1.0.41-CARBON-329.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,5 +11,7 @@ export interface NdcActionBodyProps {
11
11
  useConnection: any;
12
12
  translator: any;
13
13
  useUserContext: any;
14
+ onFinish: any;
15
+ programme: any;
14
16
  }
15
17
  export declare const NdcActionBody: FC<NdcActionBodyProps>;
package/dist/esm/index.js CHANGED
@@ -25463,7 +25463,7 @@ var css_248z$2 = ".ndc-action-body {\n display: flex;\n flex-direction: column
25463
25463
  styleInject(css_248z$2);
25464
25464
 
25465
25465
  var NdcActionBody = function (props) {
25466
- var data = props.data, programmeId = props.programmeId, canUploadMonitorReport = props.canUploadMonitorReport, programmeOwnerId = props.programmeOwnerId, getProgrammeDocs = props.getProgrammeDocs, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, translator = props.translator, useUserContext = props.useUserContext;
25466
+ var data = props.data, programmeId = props.programmeId, canUploadMonitorReport = props.canUploadMonitorReport, programmeOwnerId = props.programmeOwnerId, getProgrammeDocs = props.getProgrammeDocs, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, translator = props.translator, useUserContext = props.useUserContext, onFinish = props.onFinish, programme = props.programme;
25467
25467
  var t = translator.t;
25468
25468
  var userInfoState = useUserContext().userInfoState;
25469
25469
  var fileInputMonitoringRef = useRef(null);
@@ -25498,7 +25498,7 @@ var NdcActionBody = function (props) {
25498
25498
  (_a = fileInputVerificationRef === null || fileInputVerificationRef === void 0 ? void 0 : fileInputVerificationRef.current) === null || _a === void 0 ? void 0 : _a.click();
25499
25499
  };
25500
25500
  var onUploadDocument = function (file, type) { return __awaiter(void 0, void 0, void 0, function () {
25501
- var logoBase64, response;
25501
+ var logoBase64, response_1, programmeData, modified_1;
25502
25502
  return __generator(this, function (_a) {
25503
25503
  switch (_a.label) {
25504
25504
  case 0:
@@ -25526,14 +25526,40 @@ var NdcActionBody = function (props) {
25526
25526
  actionId: ndcActionId,
25527
25527
  })];
25528
25528
  case 3:
25529
- response = _a.sent();
25530
- if (response === null || response === void 0 ? void 0 : response.data) {
25529
+ response_1 = _a.sent();
25530
+ if (response_1 === null || response_1 === void 0 ? void 0 : response_1.data) {
25531
25531
  message.open({
25532
25532
  type: "success",
25533
25533
  content: "".concat(t("programme:isUploaded")),
25534
25534
  duration: 4,
25535
25535
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
25536
25536
  });
25537
+ if (type == DocType.VERIFICATION_REPORT &&
25538
+ (response_1 === null || response_1 === void 0 ? void 0 : response_1.data.status) == DocumentStatus.ACCEPTED &&
25539
+ response_1.data.programme.mitigationActions) {
25540
+ programmeData = response_1 === null || response_1 === void 0 ? void 0 : response_1.data.programme;
25541
+ modified_1 = false;
25542
+ programmeData.mitigationActions.map(function (action) {
25543
+ if (action.actionId == ndcActionId) {
25544
+ modified_1 = true;
25545
+ var docAdded = false;
25546
+ for (var _i = 0, _a = action.projectMaterial; _i < _a.length; _i++) {
25547
+ var document = _a[_i];
25548
+ if (document.includes("VERIFICATION_REPORT")) {
25549
+ docAdded = true;
25550
+ break;
25551
+ }
25552
+ }
25553
+ if (!docAdded) {
25554
+ action.projectMaterial.push(response_1 === null || response_1 === void 0 ? void 0 : response_1.data.url);
25555
+ }
25556
+ }
25557
+ });
25558
+ if (modified_1) {
25559
+ programme.mitigationActions = programmeData.mitigationActions;
25560
+ onFinish(programme);
25561
+ }
25562
+ }
25537
25563
  }
25538
25564
  return [3 /*break*/, 5];
25539
25565
  case 4:
@@ -25565,14 +25591,14 @@ var NdcActionBody = function (props) {
25565
25591
  });
25566
25592
  }); };
25567
25593
  var docAction = function (id, status, actionId, type) { return __awaiter(void 0, void 0, void 0, function () {
25568
- var error_2;
25594
+ var programmeRes, programmeData, error_2;
25569
25595
  return __generator(this, function (_a) {
25570
25596
  switch (_a.label) {
25571
25597
  case 0:
25572
25598
  setLoading(true);
25573
25599
  _a.label = 1;
25574
25600
  case 1:
25575
- _a.trys.push([1, 3, 4, 5]);
25601
+ _a.trys.push([1, 5, 6, 7]);
25576
25602
  return [4 /*yield*/, post("national/programme/docAction", {
25577
25603
  id: id,
25578
25604
  status: status,
@@ -25588,8 +25614,43 @@ var NdcActionBody = function (props) {
25588
25614
  duration: 4,
25589
25615
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
25590
25616
  });
25591
- return [3 /*break*/, 5];
25617
+ if (!(type == DocType.VERIFICATION_REPORT &&
25618
+ status == DocumentStatus.ACCEPTED)) return [3 /*break*/, 4];
25619
+ return [4 /*yield*/, post("national/programme/query", {
25620
+ page: 1,
25621
+ size: 2,
25622
+ filterAnd: [
25623
+ {
25624
+ key: "programmeId",
25625
+ operation: "=",
25626
+ value: programmeId,
25627
+ },
25628
+ ],
25629
+ })];
25592
25630
  case 3:
25631
+ programmeRes = _a.sent();
25632
+ programmeData = programmeRes.data[0];
25633
+ if (programmeData.mitigationActions) {
25634
+ programmeData.mitigationActions.map(function (action) {
25635
+ if (action.actionId == actionId) {
25636
+ var docAdded = false;
25637
+ for (var _i = 0, _a = action.projectMaterial; _i < _a.length; _i++) {
25638
+ var document = _a[_i];
25639
+ if (document.includes("VERIFICATION_REPORT")) {
25640
+ docAdded = true;
25641
+ break;
25642
+ }
25643
+ }
25644
+ if (!docAdded) {
25645
+ action.projectMaterial.push("VERIFICATION_REPORT");
25646
+ }
25647
+ }
25648
+ });
25649
+ onFinish(programmeData);
25650
+ }
25651
+ _a.label = 4;
25652
+ case 4: return [3 /*break*/, 7];
25653
+ case 5:
25593
25654
  error_2 = _a.sent();
25594
25655
  message.open({
25595
25656
  type: "error",
@@ -25597,13 +25658,13 @@ var NdcActionBody = function (props) {
25597
25658
  duration: 4,
25598
25659
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
25599
25660
  });
25600
- return [3 /*break*/, 5];
25601
- case 4:
25661
+ return [3 /*break*/, 7];
25662
+ case 6:
25602
25663
  getProgrammeDocs();
25603
25664
  setOpenRejectDocConfirmationModal(false);
25604
25665
  setLoading(false);
25605
25666
  return [7 /*endfinally*/];
25606
- case 5: return [2 /*return*/];
25667
+ case 7: return [2 /*return*/];
25607
25668
  }
25608
25669
  });
25609
25670
  }); };