@undp/carbon-library 1.0.126-NAM-1-2.1 → 1.0.130-NAM-4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,7 +11,5 @@ export interface NdcActionBodyProps {
11
11
  useConnection: any;
12
12
  translator: any;
13
13
  useUserContext: any;
14
- linkDocVisible: any;
15
- uploadDocUserPermission: any;
16
14
  }
17
15
  export declare const NdcActionBody: FC<NdcActionBodyProps>;
@@ -9,11 +9,10 @@ export interface ProgrammeDocumentsProps {
9
9
  getDocumentDetails: any;
10
10
  getProgrammeById: any;
11
11
  ministryLevelPermission?: boolean;
12
- linkDocVisible: any;
13
- uploadDocUserPermission: any;
14
12
  useConnection: any;
15
13
  useUserContext: any;
16
14
  translator: any;
17
15
  methodologyDocumentUpdated: any;
16
+ programmeStatus?: any;
18
17
  }
19
18
  export declare const ProgrammeDocuments: FC<ProgrammeDocumentsProps>;
@@ -0,0 +1,3 @@
1
+ import { DocType, DocumentStatus } from "../Definitions";
2
+ export declare const linkDocVisible: (docStatus: DocumentStatus) => boolean;
3
+ export declare const uploadDocUserPermission: (userInfoState: any, docType: DocType, programmeOwnerId: any[], ministryLevelPermission?: boolean, programmeStatus?: any) => boolean;
package/dist/esm/index.js CHANGED
@@ -5534,7 +5534,6 @@ var CompanyProfileComponent = function (props) {
5534
5534
  setErrorMsg("");
5535
5535
  setOpenReactivateModal(true);
5536
5536
  };
5537
- // approve pending organisations
5538
5537
  var onApproveOrganisation = function () {
5539
5538
  setActionInfo({
5540
5539
  action: "".concat(t("companyProfile:approve")),
@@ -11839,6 +11838,7 @@ var allowedFileTypes = [
11839
11838
  var environmentalImpactAssessmentAllowedTypes = [
11840
11839
  "application/pdf",
11841
11840
  "application/msword",
11841
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
11842
11842
  "image/png",
11843
11843
  "image/jpeg"
11844
11844
  ];
@@ -18586,10 +18586,62 @@ InfoView.defaultProps = {
18586
18586
  hiddenColumns: [],
18587
18587
  };
18588
18588
 
18589
+ var linkDocVisible = function (docStatus) {
18590
+ var visible = false;
18591
+ if (docStatus === DocumentStatus.PENDING ||
18592
+ docStatus === DocumentStatus.ACCEPTED ||
18593
+ docStatus === DocumentStatus.REJECTED) {
18594
+ visible = true;
18595
+ }
18596
+ return visible;
18597
+ };
18598
+ var uploadDocUserPermission = function (userInfoState, docType, programmeOwnerId, ministryLevelPermission, programmeStatus) {
18599
+ var permission = false;
18600
+ if (programmeStatus && programmeStatus === ProgrammeStageUnified.Rejected) {
18601
+ return false;
18602
+ }
18603
+ if (docType === DocType.DESIGN_DOCUMENT) {
18604
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ||
18605
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY && ministryLevelPermission)) &&
18606
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly) {
18607
+ permission = true;
18608
+ }
18609
+ else if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.PROGRAMME_DEVELOPER &&
18610
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly) {
18611
+ if (programmeOwnerId.includes(String(userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId))) {
18612
+ permission = true;
18613
+ }
18614
+ }
18615
+ }
18616
+ else if (docType === DocType.METHODOLOGY_DOCUMENT || docType === DocType.MONITORING_REPORT || docType === DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT) {
18617
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ||
18618
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER ||
18619
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY && ministryLevelPermission)) &&
18620
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly) {
18621
+ permission = true;
18622
+ }
18623
+ else if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.PROGRAMME_DEVELOPER &&
18624
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly) {
18625
+ if (programmeOwnerId.includes(String(userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId))) {
18626
+ permission = true;
18627
+ }
18628
+ }
18629
+ }
18630
+ else if (docType === DocType.VERIFICATION_REPORT) {
18631
+ if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ||
18632
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER ||
18633
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY && ministryLevelPermission)) &&
18634
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly) {
18635
+ permission = true;
18636
+ }
18637
+ }
18638
+ return permission;
18639
+ };
18640
+
18589
18641
  var NdcActionViewComponent = function (props) {
18590
18642
  var _a;
18591
18643
  var _b, _c;
18592
- var useUserContext = props.useUserContext, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission, useConnection = props.useConnection, useLocation = props.useLocation, onNavigateToNdcManagementView = props.onNavigateToNdcManagementView, translator = props.translator, sdgGoalImages = props.sdgGoalImages, Chart = props.Chart;
18644
+ var useUserContext = props.useUserContext, useConnection = props.useConnection, useLocation = props.useLocation, onNavigateToNdcManagementView = props.onNavigateToNdcManagementView, translator = props.translator, sdgGoalImages = props.sdgGoalImages, Chart = props.Chart;
18593
18645
  translator.setDefaultNamespace("ndcAction");
18594
18646
  var t = translator.t;
18595
18647
  var userInfoState = useUserContext().userInfoState;
@@ -24142,7 +24194,7 @@ var css_248z$2 = ".ndc-action-body {\n display: flex;\n flex-direction: column
24142
24194
  styleInject(css_248z$2);
24143
24195
 
24144
24196
  var NdcActionBody = function (props) {
24145
- 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, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission;
24197
+ 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;
24146
24198
  var t = translator.t;
24147
24199
  var userInfoState = useUserContext().userInfoState;
24148
24200
  var fileInputMonitoringRef = useRef(null);
@@ -24461,7 +24513,7 @@ var css_248z$1 = ".info-view .title-icon {\n padding-right: 10px; }\n\n.info-vi
24461
24513
  styleInject(css_248z$1);
24462
24514
 
24463
24515
  var ProgrammeDocuments = function (props) {
24464
- var data = props.data, title = props.title, icon = props.icon, programmeId = props.programmeId, programmeOwnerId = props.programmeOwnerId, getDocumentDetails = props.getDocumentDetails, getProgrammeById = props.getProgrammeById, ministryLevelPermission = props.ministryLevelPermission, linkDocVisible = props.linkDocVisible, uploadDocUserPermission = props.uploadDocUserPermission, useConnection = props.useConnection, useUserContext = props.useUserContext, translator = props.translator, methodologyDocumentUpdated = props.methodologyDocumentUpdated;
24516
+ var data = props.data, title = props.title, icon = props.icon, programmeId = props.programmeId, programmeOwnerId = props.programmeOwnerId, getDocumentDetails = props.getDocumentDetails, getProgrammeById = props.getProgrammeById, ministryLevelPermission = props.ministryLevelPermission, useConnection = props.useConnection, useUserContext = props.useUserContext, translator = props.translator, methodologyDocumentUpdated = props.methodologyDocumentUpdated, programmeStatus = props.programmeStatus;
24465
24517
  var t = translator.t;
24466
24518
  var userInfoState = useUserContext().userInfoState;
24467
24519
  var _a = useConnection(); _a.delete; var post = _a.post;
@@ -24708,11 +24760,11 @@ var ProgrammeDocuments = function (props) {
24708
24760
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24709
24761
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24710
24762
  ? t("programme:notAuthToUploadDoc")
24711
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24712
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24763
+ : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24764
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24713
24765
  ? { color: "#3F3A47", cursor: "pointer" }
24714
24766
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24715
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24767
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24716
24768
  } })),
24717
24769
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24718
24770
  var selectedFile = e.target.files[0];
@@ -24722,11 +24774,11 @@ var ProgrammeDocuments = function (props) {
24722
24774
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24723
24775
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24724
24776
  ? t("programme:notAuthToUploadDoc")
24725
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24726
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24777
+ : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24778
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24727
24779
  ? { color: "#3F3A47", cursor: "pointer" }
24728
24780
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24729
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24781
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24730
24782
  } })),
24731
24783
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24732
24784
  var selectedFile = e.target.files[0];
@@ -24771,13 +24823,13 @@ var ProgrammeDocuments = function (props) {
24771
24823
  methodDocStatus !== DocumentStatus.ACCEPTED && (React.createElement(React.Fragment, null,
24772
24824
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
24773
24825
  ? t("programme:notAuthToUploadDoc")
24774
- : !uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24826
+ : !uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24775
24827
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
24776
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24828
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24777
24829
  ? { color: "#3F3A47", cursor: "pointer" }
24778
24830
  : { color: "#cacaca" }, onClick: function () {
24779
24831
  return designDocStatus === DocumentStatus.ACCEPTED &&
24780
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24832
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24781
24833
  handleMethodologyFileUpload();
24782
24834
  } })),
24783
24835
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -24788,16 +24840,16 @@ var ProgrammeDocuments = function (props) {
24788
24840
  } }))))) : (React.createElement(React.Fragment, null,
24789
24841
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
24790
24842
  ? t("programme:notAuthToUploadDoc")
24791
- : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24843
+ : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24792
24844
  ? designDocStatus !== DocumentStatus.ACCEPTED &&
24793
24845
  t("programme:designDocNotApproved")
24794
24846
  : t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24795
24847
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
24796
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24848
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24797
24849
  ? { color: "#3F3A47", cursor: "pointer" }
24798
24850
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24799
24851
  return designDocStatus === DocumentStatus.ACCEPTED &&
24800
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24852
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24801
24853
  handleMethodologyFileUpload();
24802
24854
  } })),
24803
24855
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -24844,11 +24896,11 @@ var ProgrammeDocuments = function (props) {
24844
24896
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24845
24897
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24846
24898
  ? t("programme:notAuthToUploadDoc")
24847
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24848
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission)
24899
+ : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24900
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24849
24901
  ? { color: "#3F3A47", cursor: "pointer" }
24850
24902
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24851
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24903
+ return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24852
24904
  } })),
24853
24905
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24854
24906
  var selectedFile = e.target.files[0];
@@ -24858,11 +24910,11 @@ var ProgrammeDocuments = function (props) {
24858
24910
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24859
24911
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24860
24912
  ? t("programme:notAuthToUploadDoc")
24861
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24862
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission)
24913
+ : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24914
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24863
24915
  ? { color: "#3F3A47", cursor: "pointer" }
24864
24916
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24865
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24917
+ return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24866
24918
  } })),
24867
24919
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24868
24920
  var selectedFile = e.target.files[0];