@undp/carbon-library 1.0.127 → 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
@@ -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];