@undp/carbon-library 1.0.150 → 1.0.151-NAM-4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  import { DocType, DocumentStatus } from "../Definitions";
2
2
  export declare const linkDocVisible: (docStatus: DocumentStatus) => boolean;
3
- export declare const uploadDocUserPermission: (userInfoState: any, docType: DocType, programmeOwnerId: any[], ministryLevelPermission?: boolean, programmeStatus?: any) => boolean;
3
+ export declare const uploadDocUserPermission: (userInfoState: any, docType: DocType, programmeOwnerId: any[], ministryLevelPermission?: boolean) => boolean;
package/dist/esm/index.js CHANGED
@@ -19490,11 +19490,8 @@ var linkDocVisible = function (docStatus) {
19490
19490
  }
19491
19491
  return visible;
19492
19492
  };
19493
- var uploadDocUserPermission = function (userInfoState, docType, programmeOwnerId, ministryLevelPermission, programmeStatus) {
19493
+ var uploadDocUserPermission = function (userInfoState, docType, programmeOwnerId, ministryLevelPermission) {
19494
19494
  var permission = false;
19495
- if (programmeStatus && programmeStatus === ProgrammeStageUnified.Rejected) {
19496
- return false;
19497
- }
19498
19495
  if (docType === DocType.DESIGN_DOCUMENT) {
19499
19496
  if (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ||
19500
19497
  ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY && ministryLevelPermission)) &&
@@ -25844,6 +25841,13 @@ var ProgrammeDocuments = function (props) {
25844
25841
  var maximumImageSize = process.env.REACT_APP_MAXIMUM_FILE_SIZE
25845
25842
  ? parseInt(process.env.REACT_APP_MAXIMUM_FILE_SIZE)
25846
25843
  : 5000000;
25844
+ var isProjectRejected = programmeStatus && programmeStatus === ProgrammeStageUnified.Rejected;
25845
+ var uploadImpactAssessmentDocUserPermission = uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission);
25846
+ var impactAssessmentToolTipTitle = (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
25847
+ ? t("programme:notAuthToUploadDoc")
25848
+ : isProjectRejected
25849
+ ? t("programme:docUploadProgrammeRejected")
25850
+ : !uploadImpactAssessmentDocUserPermission && t("programme:orgNotAuth");
25847
25851
  var handleDesignDocFileUpload = function () {
25848
25852
  var _a;
25849
25853
  (_a = fileInputRef === null || fileInputRef === void 0 ? void 0 : fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
@@ -25868,8 +25872,8 @@ var ProgrammeDocuments = function (props) {
25868
25872
  setDesignDocDate(item === null || item === void 0 ? void 0 : item.txTime);
25869
25873
  setDesignDocStatus(item === null || item === void 0 ? void 0 : item.status);
25870
25874
  setDesignDocId(item === null || item === void 0 ? void 0 : item.id);
25871
- var versionfull = (item === null || item === void 0 ? void 0 : item.url).split("_")[(item === null || item === void 0 ? void 0 : item.url).split('_').length - 1];
25872
- var version = versionfull ? versionfull.split('.')[0] : "1";
25875
+ var versionfull = (item === null || item === void 0 ? void 0 : item.url).split("_")[(item === null || item === void 0 ? void 0 : item.url).split("_").length - 1];
25876
+ var version = versionfull ? versionfull.split(".")[0] : "1";
25873
25877
  setDesignDocversion(version.startsWith("V") ? version : "V1");
25874
25878
  }
25875
25879
  if ((_b = item === null || item === void 0 ? void 0 : item.url) === null || _b === void 0 ? void 0 : _b.includes("METHODOLOGY")) {
@@ -25877,8 +25881,8 @@ var ProgrammeDocuments = function (props) {
25877
25881
  setMethodologyDate(item === null || item === void 0 ? void 0 : item.txTime);
25878
25882
  setMethodDocStatus(item === null || item === void 0 ? void 0 : item.status);
25879
25883
  setMethDocId(item === null || item === void 0 ? void 0 : item.id);
25880
- var versionfull = (item === null || item === void 0 ? void 0 : item.url).split("_")[(item === null || item === void 0 ? void 0 : item.url).split('_').length - 1];
25881
- var version = versionfull ? versionfull.split('.')[0] : "1";
25884
+ var versionfull = (item === null || item === void 0 ? void 0 : item.url).split("_")[(item === null || item === void 0 ? void 0 : item.url).split("_").length - 1];
25885
+ var version = versionfull ? versionfull.split(".")[0] : "1";
25882
25886
  setMethDocversion(version.startsWith("V") ? version : "V1");
25883
25887
  }
25884
25888
  if ((_c = item === null || item === void 0 ? void 0 : item.url) === null || _c === void 0 ? void 0 : _c.includes("OBJECTION")) {
@@ -25895,7 +25899,7 @@ var ProgrammeDocuments = function (props) {
25895
25899
  setImpactAssessmentStatus(item === null || item === void 0 ? void 0 : item.status);
25896
25900
  setImpactAssessmentId(item === null || item === void 0 ? void 0 : item.id);
25897
25901
  var versionfull = (item === null || item === void 0 ? void 0 : item.url).split("_")[(item === null || item === void 0 ? void 0 : item.url).split("_").length - 1];
25898
- var version = versionfull ? versionfull.split('.')[0] : "1";
25902
+ var version = versionfull ? versionfull.split(".")[0] : "1";
25899
25903
  setImpactAssessmentversion(version.startsWith("V") ? version : "V1");
25900
25904
  }
25901
25905
  });
@@ -26071,11 +26075,11 @@ var ProgrammeDocuments = function (props) {
26071
26075
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
26072
26076
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
26073
26077
  ? t("programme:notAuthToUploadDoc")
26074
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26075
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26078
+ : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26079
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
26076
26080
  ? { color: "#3F3A47", cursor: "pointer" }
26077
26081
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
26078
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
26082
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
26079
26083
  } })),
26080
26084
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
26081
26085
  var selectedFile = e.target.files[0];
@@ -26085,11 +26089,11 @@ var ProgrammeDocuments = function (props) {
26085
26089
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly ||
26086
26090
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.CERTIFIER
26087
26091
  ? t("programme:notAuthToUploadDoc")
26088
- : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26089
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26092
+ : !uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26093
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission)
26090
26094
  ? { color: "#3F3A47", cursor: "pointer" }
26091
26095
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
26092
- return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleDesignDocFileUpload();
26096
+ return uploadDocUserPermission(userInfoState, DocType.DESIGN_DOCUMENT, programmeOwnerId, ministryLevelPermission) && handleDesignDocFileUpload();
26093
26097
  } })),
26094
26098
  React.createElement("input", { type: "file", ref: fileInputRef, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
26095
26099
  var selectedFile = e.target.files[0];
@@ -26138,13 +26142,13 @@ var ProgrammeDocuments = function (props) {
26138
26142
  methodDocStatus !== DocumentStatus.ACCEPTED && (React.createElement(React.Fragment, null,
26139
26143
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
26140
26144
  ? t("programme:notAuthToUploadDoc")
26141
- : !uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26145
+ : !uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26142
26146
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
26143
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26147
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
26144
26148
  ? { color: "#3F3A47", cursor: "pointer" }
26145
26149
  : { color: "#cacaca" }, onClick: function () {
26146
26150
  return designDocStatus === DocumentStatus.ACCEPTED &&
26147
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
26151
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
26148
26152
  handleMethodologyFileUpload();
26149
26153
  } })),
26150
26154
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -26155,16 +26159,16 @@ var ProgrammeDocuments = function (props) {
26155
26159
  } }))))) : (React.createElement(React.Fragment, null,
26156
26160
  React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
26157
26161
  ? t("programme:notAuthToUploadDoc")
26158
- : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26162
+ : uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
26159
26163
  ? designDocStatus !== DocumentStatus.ACCEPTED &&
26160
26164
  t("programme:designDocNotApproved")
26161
26165
  : t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26162
26166
  React.createElement(FileAddOutlined, { className: "common-progress-icon", style: designDocStatus === DocumentStatus.ACCEPTED &&
26163
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26167
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission)
26164
26168
  ? { color: "#3F3A47", cursor: "pointer" }
26165
26169
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
26166
26170
  return designDocStatus === DocumentStatus.ACCEPTED &&
26167
- uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) &&
26171
+ uploadDocUserPermission(userInfoState, DocType.METHODOLOGY_DOCUMENT, programmeOwnerId, ministryLevelPermission) &&
26168
26172
  handleMethodologyFileUpload();
26169
26173
  } })),
26170
26174
  React.createElement("input", { type: "file", ref: fileInputRefMeth, style: { display: "none" }, accept: ".xls, .xlsx, .ppt, .pptx, .csv, .doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
@@ -26187,7 +26191,8 @@ var ProgrammeDocuments = function (props) {
26187
26191
  React.createElement(Col, { span: 18, className: "field-key" },
26188
26192
  React.createElement("div", { className: "label-container" },
26189
26193
  React.createElement("div", { className: impactAssessmentUrl !== "" ? "label-uploaded" : "label" }, t("programme:environmentalImpactAssessment")),
26190
- impactAssessmentStatus === DocumentStatus.PENDING && (ministryLevelPermission || companyRolePermission) && (React.createElement(React.Fragment, null,
26194
+ impactAssessmentStatus === DocumentStatus.PENDING &&
26195
+ (ministryLevelPermission || companyRolePermission) && (React.createElement(React.Fragment, null,
26191
26196
  React.createElement(LikeOutlined, { onClick: function () {
26192
26197
  return docAction(impactAssessmentId, DocumentStatus.ACCEPTED);
26193
26198
  }, className: "common-progress-icon", style: { color: "#976ED7" } }),
@@ -26212,26 +26217,28 @@ var ProgrammeDocuments = function (props) {
26212
26217
  linkDocVisible(impactAssessmentStatus) && (React.createElement("a", { href: impactAssessmentUrl, target: "_blank", rel: "noopener noreferrer", download: true },
26213
26218
  React.createElement(BookOutlined, { className: "common-progress-icon margin-right-1", style: { color: "#3F3A47" } }))),
26214
26219
  impactAssessmentStatus !== DocumentStatus.ACCEPTED && (React.createElement(React.Fragment, null,
26215
- React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
26216
- ? t("programme:notAuthToUploadDoc")
26217
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26218
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26220
+ React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: impactAssessmentToolTipTitle, overlayClassName: "custom-tooltip" },
26221
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadImpactAssessmentDocUserPermission &&
26222
+ !isProjectRejected
26219
26223
  ? { color: "#3F3A47", cursor: "pointer" }
26220
26224
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
26221
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
26225
+ return uploadImpactAssessmentDocUserPermission &&
26226
+ !isProjectRejected &&
26227
+ handleImpactAssessmentFileUpload();
26222
26228
  } })),
26223
26229
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
26224
26230
  var selectedFile = e.target.files[0];
26225
26231
  e.target.value = null;
26226
26232
  onUploadDocument(selectedFile, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT);
26227
26233
  } }))))) : (React.createElement(React.Fragment, null,
26228
- React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) === Role.ViewOnly
26229
- ? t("programme:notAuthToUploadDoc")
26230
- : !uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && t("programme:orgNotAuth"), overlayClassName: "custom-tooltip" },
26231
- React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus)
26234
+ React.createElement(Tooltip, { arrowPointAtCenter: true, placement: "top", trigger: "hover", title: impactAssessmentToolTipTitle, overlayClassName: "custom-tooltip" },
26235
+ React.createElement(FileAddOutlined, { className: "common-progress-icon", style: uploadImpactAssessmentDocUserPermission &&
26236
+ !isProjectRejected
26232
26237
  ? { color: "#3F3A47", cursor: "pointer" }
26233
26238
  : { color: "#cacaca", cursor: "default" }, onClick: function () {
26234
- return uploadDocUserPermission(userInfoState, DocType.ENVIRONMENTAL_IMPACT_ASSESSMENT, programmeOwnerId, ministryLevelPermission, programmeStatus) && handleImpactAssessmentFileUpload();
26239
+ return uploadImpactAssessmentDocUserPermission &&
26240
+ !isProjectRejected &&
26241
+ handleImpactAssessmentFileUpload();
26235
26242
  } })),
26236
26243
  React.createElement("input", { type: "file", ref: fileInputRefImpactAssessment, style: { display: "none" }, accept: ".doc, .docx, .pdf, .png, .jpg", onChange: function (e) {
26237
26244
  var selectedFile = e.target.files[0];