@undp/carbon-library 1.0.127 → 1.0.130-NAM-4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -11838,6 +11838,7 @@ var allowedFileTypes = [
11838
11838
  var environmentalImpactAssessmentAllowedTypes = [
11839
11839
  "application/pdf",
11840
11840
  "application/msword",
11841
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
11841
11842
  "image/png",
11842
11843
  "image/jpeg"
11843
11844
  ];
@@ -18585,10 +18586,62 @@ InfoView.defaultProps = {
18585
18586
  hiddenColumns: [],
18586
18587
  };
18587
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
+
18588
18641
  var NdcActionViewComponent = function (props) {
18589
18642
  var _a;
18590
18643
  var _b, _c;
18591
- 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;
18592
18645
  translator.setDefaultNamespace("ndcAction");
18593
18646
  var t = translator.t;
18594
18647
  var userInfoState = useUserContext().userInfoState;
@@ -24141,7 +24194,7 @@ var css_248z$2 = ".ndc-action-body {\n display: flex;\n flex-direction: column
24141
24194
  styleInject(css_248z$2);
24142
24195
 
24143
24196
  var NdcActionBody = function (props) {
24144
- 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;
24145
24198
  var t = translator.t;
24146
24199
  var userInfoState = useUserContext().userInfoState;
24147
24200
  var fileInputMonitoringRef = useRef(null);
@@ -24460,7 +24513,7 @@ var css_248z$1 = ".info-view .title-icon {\n padding-right: 10px; }\n\n.info-vi
24460
24513
  styleInject(css_248z$1);
24461
24514
 
24462
24515
  var ProgrammeDocuments = function (props) {
24463
- 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;
24464
24517
  var t = translator.t;
24465
24518
  var userInfoState = useUserContext().userInfoState;
24466
24519
  var _a = useConnection(); _a.delete; var post = _a.post;
@@ -24707,11 +24760,11 @@ var ProgrammeDocuments = function (props) {
24707
24760
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24708
24761
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24709
24762
  ? t("programme:notAuthToUploadDoc")
24710
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24711
- 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)
24712
24765
  ? { color: "#3F3A47", cursor: "pointer" }
24713
24766
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24714
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24767
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24715
24768
  } })),
24716
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) {
24717
24770
  var selectedFile = e.target.files[0];
@@ -24721,11 +24774,11 @@ var ProgrammeDocuments = function (props) {
24721
24774
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24722
24775
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24723
24776
  ? t("programme:notAuthToUploadDoc")
24724
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24725
- 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)
24726
24779
  ? { color: "#3F3A47", cursor: "pointer" }
24727
24780
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24728
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
24781
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
24729
24782
  } })),
24730
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) {
24731
24784
  var selectedFile = e.target.files[0];
@@ -24770,13 +24823,13 @@ var ProgrammeDocuments = function (props) {
24770
24823
  methodDocStatus !== DocumentStatus.ACCEPTED && (React.createElement(React.Fragment, null,
24771
24824
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
24772
24825
  ? t("programme:notAuthToUploadDoc")
24773
- : !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" },
24774
24827
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
24775
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24828
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24776
24829
  ? { color: "#3F3A47", cursor: "pointer" }
24777
24830
  : { color: "#cacaca" }, onClick: function () {
24778
24831
  return designDocStatus === DocumentStatus.ACCEPTED &&
24779
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24832
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24780
24833
  handleMethodologyFileUpload();
24781
24834
  } })),
24782
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) {
@@ -24787,16 +24840,16 @@ var ProgrammeDocuments = function (props) {
24787
24840
  } }))))) : (React.createElement(React.Fragment, null,
24788
24841
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
24789
24842
  ? t("programme:notAuthToUploadDoc")
24790
- : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24843
+ : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24791
24844
  ? designDocStatus !== DocumentStatus.ACCEPTED &&
24792
24845
  t("programme:designDocNotApproved")
24793
24846
  : t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24794
24847
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
24795
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
24848
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
24796
24849
  ? { color: "#3F3A47", cursor: "pointer" }
24797
24850
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24798
24851
  return designDocStatus === DocumentStatus.ACCEPTED &&
24799
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
24852
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
24800
24853
  handleMethodologyFileUpload();
24801
24854
  } })),
24802
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) {
@@ -24843,11 +24896,11 @@ var ProgrammeDocuments = function (props) {
24843
24896
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24844
24897
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24845
24898
  ? t("programme:notAuthToUploadDoc")
24846
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24847
- 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)
24848
24901
  ? { color: "#3F3A47", cursor: "pointer" }
24849
24902
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24850
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24903
+ return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24851
24904
  } })),
24852
24905
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24853
24906
  var selectedFile = e.target.files[0];
@@ -24857,11 +24910,11 @@ var ProgrammeDocuments = function (props) {
24857
24910
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
24858
24911
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
24859
24912
  ? t("programme:notAuthToUploadDoc")
24860
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
24861
- 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)
24862
24915
  ? { color: "#3F3A47", cursor: "pointer" }
24863
24916
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
24864
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission) && handleImpactAssessmentFileUpload();
24917
+ return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
24865
24918
  } })),
24866
24919
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
24867
24920
  var selectedFile = e.target.files[0];