@undp/carbon-library 1.0.274-CARBON-338.2 → 1.0.274-CARBON-363.43

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.
package/dist/cjs/index.js CHANGED
@@ -2047,7 +2047,7 @@ exports.NdcActionStatus = void 0;
2047
2047
  NdcActionStatus["PENDING"] = "Pending";
2048
2048
  NdcActionStatus["APPROVED"] = "Approved";
2049
2049
  })(exports.NdcActionStatus || (exports.NdcActionStatus = {}));
2050
- var getNdcActionStatusEnumVal = function (value) {
2050
+ var getNdcActionStatusEnumVal$1 = function (value) {
2051
2051
  var index = Object.keys(exports.NdcActionStatus).indexOf(value);
2052
2052
  if (index < 0) {
2053
2053
  return value;
@@ -2055,7 +2055,7 @@ var getNdcActionStatusEnumVal = function (value) {
2055
2055
  return Object.values(exports.NdcActionStatus)[index];
2056
2056
  };
2057
2057
  var getNdcStatusTagType = function (status) {
2058
- switch (getNdcActionStatusEnumVal(status)) {
2058
+ switch (getNdcActionStatusEnumVal$1(status)) {
2059
2059
  case exports.NdcActionStatus.PENDING:
2060
2060
  return "processing";
2061
2061
  case exports.NdcActionStatus.APPROVED:
@@ -26675,622 +26675,869 @@ var RegistryDashboardComponent = function (props) {
26675
26675
  lastUpdateTransferLocations))))))))) : ("")));
26676
26676
  };
26677
26677
 
26678
- var EditableContext = React.createContext(null);
26679
- var EditableRow = function (_a) {
26680
- _a.index; var props = __rest(_a, ["index"]);
26681
- var form = antd.Form.useForm()[0];
26682
- return (React.createElement(antd.Form, { form: form, component: false },
26683
- React.createElement(EditableContext.Provider, { value: form },
26684
- React.createElement("tr", __assign({}, props)))));
26685
- };
26678
+ React.createContext(null);
26686
26679
  var EditableCell = function (_a) {
26687
- var title = _a.title, editable = _a.editable, children = _a.children, dataIndex = _a.dataIndex, record = _a.record, handleSave = _a.handleSave, restProps = __rest(_a, ["title", "editable", "children", "dataIndex", "record", "handleSave"]);
26688
- var _b = React.useState(false), editing = _b[0], setEditing = _b[1];
26689
- var inputRef = React.useRef(null);
26690
- var form = React.useContext(EditableContext);
26691
- React.useEffect(function () {
26692
- if (editing) {
26693
- inputRef.current.focus();
26694
- }
26695
- }, [editing]);
26696
- var toggleEdit = function () {
26697
- var _a;
26698
- setEditing(!editing);
26699
- form.setFieldsValue((_a = {}, _a[dataIndex] = record[dataIndex], _a));
26700
- };
26701
- var save = function () { return __awaiter(void 0, void 0, void 0, function () {
26702
- var values, errInfo_1;
26703
- return __generator(this, function (_a) {
26704
- switch (_a.label) {
26705
- case 0:
26706
- _a.trys.push([0, 2, , 3]);
26707
- return [4 /*yield*/, form.validateFields()];
26708
- case 1:
26709
- values = _a.sent();
26710
- toggleEdit();
26711
- handleSave(__assign(__assign({}, record), values));
26712
- return [3 /*break*/, 3];
26713
- case 2:
26714
- errInfo_1 = _a.sent();
26715
- console.log("Save failed:", errInfo_1);
26716
- return [3 /*break*/, 3];
26717
- case 3: return [2 /*return*/];
26718
- }
26719
- });
26720
- }); };
26721
- var childNode = children;
26722
- if (editable) {
26723
- childNode = editing ? (React.createElement(antd.Form.Item, { style: { margin: 0 }, name: dataIndex, rules: [
26724
- {
26725
- required: true,
26726
- message: "".concat(title, " is required."),
26727
- },
26728
- ] },
26729
- React.createElement(antd.Input, { ref: inputRef, onPressEnter: save, onBlur: save }))) : (React.createElement("div", { className: "editable-cell-value-wrap", style: { paddingRight: 24, minWidth: "100px", minHeight: "20px" }, onClick: toggleEdit }, children));
26730
- }
26731
- return React.createElement("td", __assign({}, restProps), childNode);
26680
+ var editing = _a.editing, dataIndex = _a.dataIndex, title = _a.title; _a.inputType; var record = _a.record; _a.index; var children = _a.children, onBlurHandler = _a.onBlurHandler, t = _a.t, restProps = __rest(_a, ["editing", "dataIndex", "title", "inputType", "record", "index", "children", "onBlurHandler", "t"]);
26681
+ return (React.createElement("td", __assign({}, restProps), editing && dataIndex === "nationalPlanObjective" ? (React.createElement(antd.Form.Item, { name: dataIndex, style: { margin: 0 }, rules: [
26682
+ {
26683
+ validator: function (rule, value) { return __awaiter(void 0, void 0, void 0, function () {
26684
+ var trimValue;
26685
+ return __generator(this, function (_a) {
26686
+ trimValue = typeof value === "string" ? value.trim() : value;
26687
+ if (!trimValue) {
26688
+ throw new Error("".concat(title, " ").concat(t("ndc:isRequired")));
26689
+ }
26690
+ return [2 /*return*/];
26691
+ });
26692
+ }); },
26693
+ },
26694
+ ] },
26695
+ React.createElement(antd.Input, { onBlur: function () { return onBlurHandler(record); }, placeholder: t("ndc:nationalPlanObjectivePlaceHolder") }))) : editing && dataIndex === "kpi" ? (React.createElement(antd.Form.Item, { name: dataIndex, style: { margin: 0 }, rules: [
26696
+ {
26697
+ validator: function (rule, value) { return __awaiter(void 0, void 0, void 0, function () {
26698
+ var trimValue;
26699
+ return __generator(this, function (_a) {
26700
+ trimValue = typeof value === "string" ? value.trim() : value;
26701
+ if (trimValue) {
26702
+ if (isNaN(+trimValue)) {
26703
+ throw new Error(t("ndc:kpiInvalidFormat"));
26704
+ }
26705
+ else if (+trimValue === 0) {
26706
+ throw new Error(t("ndc:kpiGreaterThanZero"));
26707
+ }
26708
+ else if (trimValue.toString().length > 7) {
26709
+ throw new Error(t("ndc:kpiMaxLength"));
26710
+ }
26711
+ }
26712
+ else {
26713
+ throw new Error("".concat(title, " ").concat(t("ndc:isRequired")));
26714
+ }
26715
+ return [2 /*return*/];
26716
+ });
26717
+ }); },
26718
+ },
26719
+ ] },
26720
+ React.createElement(antd.Input, { onBlur: function () { return onBlurHandler(record); }, placeholder: t("ndc:kpiPlaceHolder") }))) : (children)));
26732
26721
  };
26733
26722
 
26734
- var css_248z$4 = ".ndc-steps-actions {\n display: flex;\n flex-direction: row-reverse;\n margin-right: 1rem;\n justify-content: center; }\n .ndc-steps-actions .action-btn {\n border: 1px solid #16b1ff;\n color: #16b1ff;\n margin-right: 1rem; }\n .ndc-steps-actions .back-btn {\n border: 1px solid rgba(140, 140, 140, 0.7);\n color: rgba(140, 140, 140, 0.7);\n margin-right: 1rem; }\n .ndc-steps-actions .mg-left-1 {\n margin-left: 1rem; }\n";
26723
+ var css_248z$4 = ".ndc-steps-actions {\n display: flex;\n flex-direction: row-reverse;\n margin-right: 1rem;\n justify-content: center; }\n .ndc-steps-actions .action-btn {\n border: 1px solid #16b1ff;\n color: #16b1ff;\n margin-right: 1rem; }\n .ndc-steps-actions .back-btn {\n border: 1px solid rgba(140, 140, 140, 0.7);\n color: rgba(140, 140, 140, 0.7);\n margin-right: 1rem; }\n .ndc-steps-actions .mg-left-1 {\n margin-left: 1rem; }\n\n.ndc-details .ant-input-number-input-wrap {\n margin-right: 10px; }\n\n.ndc-details tbody {\n vertical-align: top; }\n\n.ndc-details td .ant-space-item {\n margin-top: 5px; }\n\n.ndc-details .btn-danger {\n color: #ff4d4f !important;\n border-color: #ff8183 !important; }\n\n.ndc-details .btnAddNewMainAct {\n margin-bottom: 16;\n width: 100%;\n height: 45px;\n border-radius: 10px;\n border: 1px solid rgba(58, 53, 65, 0.5);\n background: #FFF;\n color: #16b1ff;\n text-align: center;\n font-family: Inter;\n font-size: 16px;\n font-style: normal;\n font-weight: 500; }\n\n.ndc-details .btnAddNewMainAct:disabled {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none; }\n";
26735
26724
  styleInject(css_248z$4);
26736
26725
 
26737
- var NdcActionType;
26738
- (function (NdcActionType) {
26739
- NdcActionType[NdcActionType["main"] = 0] = "main";
26740
- NdcActionType[NdcActionType["sub"] = 1] = "sub";
26741
- })(NdcActionType || (NdcActionType = {}));
26726
+ var NdcDetailsActionType;
26727
+ (function (NdcDetailsActionType) {
26728
+ NdcDetailsActionType["MainAction"] = "MainAction";
26729
+ NdcDetailsActionType["SubAction"] = "SubAction";
26730
+ })(NdcDetailsActionType || (NdcDetailsActionType = {}));
26731
+ var NdcDetailsActionStatus;
26732
+ (function (NdcDetailsActionStatus) {
26733
+ NdcDetailsActionStatus["New"] = "New";
26734
+ NdcDetailsActionStatus["Pending"] = "Pending";
26735
+ NdcDetailsActionStatus["Approved"] = "Approved";
26736
+ NdcDetailsActionStatus["Rejected"] = "Rejected";
26737
+ })(NdcDetailsActionStatus || (NdcDetailsActionStatus = {}));
26738
+ var getNdcActionStatusEnumVal = function (value) {
26739
+ var index = Object.keys(NdcDetailsActionStatus).indexOf(value);
26740
+ if (index < 0) {
26741
+ return value;
26742
+ }
26743
+ return Object.values(NdcDetailsActionStatus)[index];
26744
+ };
26745
+ var getNdcActionStatusTagType = function (status) {
26746
+ switch (getNdcActionStatusEnumVal(status)) {
26747
+ case NdcDetailsActionStatus.Rejected:
26748
+ return "error";
26749
+ case NdcDetailsActionStatus.Pending:
26750
+ return "processing";
26751
+ case NdcDetailsActionStatus.Approved:
26752
+ return "success";
26753
+ default:
26754
+ return "default";
26755
+ }
26756
+ };
26757
+
26742
26758
  var NdcDetailsComponent = function (props) {
26743
- var t = props.t; props.useConnection; var useUserContext = props.useUserContext;
26759
+ var t = props.t, useConnection = props.useConnection, useUserContext = props.useUserContext;
26744
26760
  var RangePicker = antd.DatePicker.RangePicker;
26745
- var _a = React.useState([]), ndcDetailsData = _a[0], setNdcDetailsData = _a[1];
26746
- var _b = React.useState(false), loading = _b[0]; _b[1];
26747
- var periodItemsRef = React.useRef([]);
26761
+ var _a = React.useState([]), ndcActionsList = _a[0], setNdcActionsList = _a[1];
26762
+ var _b = React.useState(false), loading = _b[0], setLoading = _b[1];
26748
26763
  var _c = React.useState([]), periodItems = _c[0], setPeriodItems = _c[1];
26749
- var _d = React.useState("add_new"), selectedTab = _d[0], setSelectedTab = _d[1];
26750
- var selectedPeriod = React.useRef({});
26751
- var addedNdcDetailId = React.useRef(0);
26752
- var selectedNdcDetail = React.useRef({});
26764
+ var _d = React.useState({}), selectedPeriod = _d[0], setSelectedPeriod = _d[1];
26765
+ var selectedDateRangeRef = React.useRef({});
26753
26766
  var _e = React.useState(0), tableKey = _e[0], setTableKey = _e[1];
26767
+ var _f = useConnection(), get = _f.get, post = _f.post, put = _f.put;
26768
+ var _g = React.useState([]), ministryOrgList = _g[0], setMinistryOrgList = _g[1];
26769
+ var _h = React.useState({}), actionInfo = _h[0], setActionInfo = _h[1];
26770
+ var _j = React.useState(false), openConfirmationModal = _j[0], setOpenConfirmationModal = _j[1];
26771
+ var form = antd.Form.useForm()[0];
26772
+ var _k = React.useState(null), editingKey = _k[0], setEditingKey = _k[1];
26773
+ var _l = React.useState(0), nextAvailableActionId = _l[0], setNextAvailableActionId = _l[1];
26774
+ var _m = React.useState([]), expandedRowKeys = _m[0], setExpandedRowKeys = _m[1];
26775
+ var _o = React.useState([]), subNdcActionsForPeriod = _o[0], setSubNdcActionsForPeriod = _o[1];
26776
+ var _p = React.useState(1), currentPage = _p[0], setCurrentPage = _p[1];
26777
+ var _q = React.useState(10), pageSize = _q[0], setPageSize = _q[1];
26778
+ var isEditing = function (record) { return record.id === editingKey; };
26779
+ var isMainActionInEditMode = function () {
26780
+ if (editingKey) {
26781
+ var action = ndcActionsList.find(function (item) { return item.id === editingKey; });
26782
+ if (action && action.actionType === NdcDetailsActionType.MainAction) {
26783
+ return true;
26784
+ }
26785
+ }
26786
+ return false;
26787
+ };
26754
26788
  var userInfoState = useUserContext().userInfoState;
26755
- var isAddRangeVisible = function () {
26756
- return (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY ||
26757
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT) &&
26789
+ React.useEffect(function () {
26790
+ if (expandedRowKeys && expandedRowKeys.length > 0) {
26791
+ var expandedKey = expandedRowKeys[0];
26792
+ setNdcSubActionsForMainAction(expandedKey);
26793
+ }
26794
+ }, ndcActionsList);
26795
+ var loginMinistry = (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT
26796
+ ? process.env.REACT_APP_GOVERNMENT_MINISTRY
26797
+ ? process.env.REACT_APP_GOVERNMENT_MINISTRY
26798
+ : "Ministry Of Environment"
26799
+ : (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY
26800
+ ? userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyName
26801
+ : undefined;
26802
+ var isGovernmentUser = (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26803
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly;
26804
+ var isMainNdcActionsEditable = !selectedPeriod.finalized &&
26805
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26806
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly;
26807
+ var isSubNdcActionsEditable = function (record) {
26808
+ return (!selectedPeriod.finalized &&
26809
+ record.status !== NdcDetailsActionStatus.Approved &&
26810
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
26811
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY &&
26812
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyName) === record.ministryName)) &&
26758
26813
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
26759
26814
  };
26760
- var isAddNdcActionVisible = function () {
26761
- return ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26815
+ var checkSubNdcActionCreatePermission = function () {
26816
+ return (!selectedPeriod.finalized &&
26817
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
26818
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY) &&
26762
26819
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
26763
26820
  };
26821
+ var isNdcActionEditable = function (record) {
26822
+ if (record.actionType === NdcDetailsActionType.MainAction) {
26823
+ return isMainNdcActionsEditable;
26824
+ }
26825
+ else if (record.actionType === NdcDetailsActionType.SubAction) {
26826
+ return isSubNdcActionsEditable(record);
26827
+ }
26828
+ };
26829
+ var ndcMainDetailsForPeriod = selectedPeriod.key !== "add_new"
26830
+ ? ndcActionsList.filter(function (ndcDetail) {
26831
+ return (ndcDetail.periodId === parseInt(selectedPeriod.key) &&
26832
+ ndcDetail.actionType === NdcDetailsActionType.MainAction);
26833
+ })
26834
+ : [];
26835
+ var setNdcSubActionsForMainAction = function (mainActionId) {
26836
+ var subNdcDetails = ndcActionsList.filter(function (ndcDetail) {
26837
+ return (ndcDetail.parentActionId === mainActionId &&
26838
+ ndcDetail.actionType === NdcDetailsActionType.SubAction);
26839
+ });
26840
+ var emptySubNdcRow = {
26841
+ id: nextAvailableActionId,
26842
+ actionType: NdcDetailsActionType.SubAction,
26843
+ nationalPlanObjective: "",
26844
+ kpi: "",
26845
+ ministryName: loginMinistry,
26846
+ status: NdcDetailsActionStatus.New,
26847
+ parentActionId: mainActionId,
26848
+ };
26849
+ if (checkSubNdcActionCreatePermission()) {
26850
+ subNdcDetails = __spreadArray(__spreadArray([], subNdcDetails, true), [emptySubNdcRow], false);
26851
+ setEditingKey(nextAvailableActionId);
26852
+ setNextAvailableActionId(function (value) { return value + 1; });
26853
+ form.setFieldsValue({
26854
+ nationalPlanObjective: "",
26855
+ kpi: "",
26856
+ });
26857
+ }
26858
+ setSubNdcActionsForPeriod(subNdcDetails);
26859
+ };
26764
26860
  var inRange = function (num, min, max) {
26765
26861
  return num >= min && num <= max;
26766
26862
  };
26767
- function onAddNewSubNdcDetail() {
26768
- var range = selectedTab.split("-");
26769
- var ndcDetail = ndcDetailsData.find(function (item) { return item.key === selectedNdcDetail.current.key; });
26770
- var ndcDetailItemIndex = ndcDetailsData.findIndex(function (item) { return item.key === selectedNdcDetail.current.key; });
26771
- if (ndcDetail) {
26772
- addedNdcDetailId.current = addedNdcDetailId.current + 1;
26773
- var newData = {
26774
- key: addedNdcDetailId.current,
26775
- startDate: new Date("".concat(Number(range[0]), "-01-24 23:12:00")),
26776
- endDate: new Date("".concat(Number(range[0]), "-12-24 23:12:00")),
26777
- ndcActionId: ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.key,
26778
- nationalPlanObj: "",
26779
- kpi: "",
26780
- ministry: "",
26781
- };
26782
- if (!ndcDetail.subNdcDetails) {
26783
- ndcDetail.subNdcDetails = [];
26784
- }
26785
- ndcDetail.subNdcDetails.push(newData);
26786
- }
26787
- ndcDetailsData[ndcDetailItemIndex] = ndcDetail;
26788
- setNdcDetailsData(ndcDetailsData);
26789
- setTableKey(function (key) { return key + 1; });
26790
- }
26791
- var handleSave = function (row) {
26792
- setNdcDetailsData(function (prevData) {
26793
- var newData = JSON.parse(JSON.stringify(prevData));
26794
- if (row.type === NdcActionType.main) {
26795
- var index = newData.findIndex(function (item) { return row.key === item.key; });
26796
- if (index !== -1) {
26797
- newData[index] = __assign(__assign({}, newData[index]), row);
26798
- }
26799
- }
26800
- else {
26801
- var parentIndex = newData.findIndex(function (item) { return row.ndcActionId === item.key; });
26802
- var parentItem = newData[parentIndex];
26803
- if (parentItem) {
26804
- if (parentItem.subNdcDetails) {
26805
- var itemIndex = parentItem.subNdcDetails.findIndex(function (item) { return row.key === item.key; });
26806
- if (itemIndex === -1) {
26807
- parentItem.subNdcDetails.push(row);
26808
- }
26809
- else {
26810
- parentItem.subNdcDetails[itemIndex] = __assign({}, row);
26811
- }
26863
+ var handleSave = function (row) { return __awaiter(void 0, void 0, void 0, function () {
26864
+ var updatedFields, updatedItem, exception_2;
26865
+ return __generator(this, function (_a) {
26866
+ switch (_a.label) {
26867
+ case 0:
26868
+ _a.trys.push([0, 9, , 10]);
26869
+ updatedFields = void 0;
26870
+ _a.label = 1;
26871
+ case 1:
26872
+ _a.trys.push([1, 3, , 4]);
26873
+ return [4 /*yield*/, form.validateFields()];
26874
+ case 2:
26875
+ updatedFields = (_a.sent());
26876
+ return [3 /*break*/, 4];
26877
+ case 3:
26878
+ _a.sent();
26879
+ return [2 /*return*/];
26880
+ case 4:
26881
+ updatedItem = __assign(__assign({}, row), updatedFields);
26882
+ if (!(updatedItem.status === NdcDetailsActionStatus.New)) return [3 /*break*/, 6];
26883
+ if (isGovernmentUser &&
26884
+ updatedItem.actionType === NdcDetailsActionType.SubAction) {
26885
+ updatedItem.status = NdcDetailsActionStatus.Approved;
26812
26886
  }
26813
26887
  else {
26814
- parentItem.subNdcDetails = [row];
26888
+ updatedItem.status = NdcDetailsActionStatus.Pending;
26815
26889
  }
26816
- }
26817
- newData[parentIndex] = __assign({}, parentItem);
26818
- setTableKey(function (key) { return key + 1; });
26890
+ return [4 /*yield*/, post("national/programme/addNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26891
+ case 5:
26892
+ _a.sent();
26893
+ return [3 /*break*/, 8];
26894
+ case 6:
26895
+ updatedItem.status = NdcDetailsActionStatus.Pending;
26896
+ return [4 /*yield*/, put("national/programme/updateNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26897
+ case 7:
26898
+ _a.sent();
26899
+ _a.label = 8;
26900
+ case 8:
26901
+ fetchNdcDetailActions();
26902
+ setEditingKey(null);
26903
+ return [3 /*break*/, 10];
26904
+ case 9:
26905
+ exception_2 = _a.sent();
26906
+ setEditingKey(null);
26907
+ antd.message.open({
26908
+ type: "error",
26909
+ content: exception_2.message,
26910
+ duration: 3,
26911
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26912
+ });
26913
+ return [3 /*break*/, 10];
26914
+ case 10: return [2 /*return*/];
26819
26915
  }
26820
- return newData;
26821
26916
  });
26822
- };
26823
- var getNdcDetailsForPeriod = function () {
26824
- var range = selectedTab.split("-");
26825
- if (range.length > 1) {
26826
- var filteredData = ndcDetailsData.filter(function (item) {
26827
- return inRange(Number(moment(item.startDate).year()), Number(range[0]), Number(range[1]));
26828
- });
26829
- return filteredData;
26830
- }
26831
- else {
26832
- return [];
26833
- }
26834
- };
26835
- var getSubNdcDetails = function (key) {
26836
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
26837
- var ndcDetail = ndcDetailsData.find(function (item) { return item.key === key; });
26838
- if (ndcDetail) {
26839
- if (((_b = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_a = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _a === void 0 ? void 0 : _a.length) - 1]) === null || _b === void 0 ? void 0 : _b.ministry.trim()) !== "" &&
26840
- ((_d = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_c = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _c === void 0 ? void 0 : _c.length) - 1]) === null || _d === void 0 ? void 0 : _d.ministry) &&
26841
- ((_f = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_e = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _e === void 0 ? void 0 : _e.length) - 1]) === null || _f === void 0 ? void 0 : _f.nationalPlanObj.trim()) !== "" &&
26842
- ((_h = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_g = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _g === void 0 ? void 0 : _g.length) - 1]) === null || _h === void 0 ? void 0 : _h.nationalPlanObj) &&
26843
- String((_k = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_j = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _j === void 0 ? void 0 : _j.length) - 1]) === null || _k === void 0 ? void 0 : _k.kpi).trim() !== "" &&
26844
- String((_m = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails[((_l = ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.subNdcDetails) === null || _l === void 0 ? void 0 : _l.length) - 1]) === null || _m === void 0 ? void 0 : _m.kpi)) {
26845
- onAddNewSubNdcDetail();
26846
- }
26847
- return ndcDetail.subNdcDetails;
26917
+ }); };
26918
+ var actionMenu = function (record) {
26919
+ if (record.status === NdcDetailsActionStatus.Pending &&
26920
+ isGovernmentUser &&
26921
+ !selectedPeriod.finalized) {
26922
+ return (React.createElement(antd.List, { className: "action-menu", size: "small", dataSource: [
26923
+ {
26924
+ text: t("ndc:approve"),
26925
+ icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26926
+ click: function () {
26927
+ setActionInfo({
26928
+ action: "Approve",
26929
+ headerText: t("ndc:actionApproveTitle"),
26930
+ type: "primary",
26931
+ icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26932
+ recordId: record.id,
26933
+ });
26934
+ setOpenConfirmationModal(true);
26935
+ },
26936
+ },
26937
+ {
26938
+ text: t("ndc:reject"),
26939
+ icon: React.createElement(Icon__namespace.XOctagon, null),
26940
+ click: function () {
26941
+ setActionInfo({
26942
+ action: "Reject",
26943
+ headerText: t("ndc:rejectApproveTitle"),
26944
+ type: "danger",
26945
+ icon: React.createElement(Icon__namespace.XOctagon, null),
26946
+ recordId: record.id,
26947
+ });
26948
+ setOpenConfirmationModal(true);
26949
+ },
26950
+ },
26951
+ ], renderItem: function (item) { return (React.createElement(antd.List.Item, { onClick: item.click },
26952
+ React.createElement(antd.Typography.Text, { className: "action-icon color-error" }, item.icon),
26953
+ React.createElement("span", null, item.text))); } }));
26848
26954
  }
26849
26955
  else {
26850
- return [];
26956
+ return null;
26851
26957
  }
26852
26958
  };
26853
26959
  var defaultColumns = [
26854
26960
  {
26855
26961
  title: t("ndc:ndcColumnsNationalPlanObj"),
26856
- dataIndex: "nationalPlanObj",
26857
- key: "nationalPlanObj",
26962
+ dataIndex: "nationalPlanObjective",
26963
+ key: "nationalPlanObjective",
26858
26964
  align: "left",
26965
+ width: 400,
26859
26966
  editable: true,
26860
- width: "50%",
26861
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26862
- React.createElement("span", null, record.nationalPlanObj))) : (React.createElement("input", { placeholder: "Please add Programmes", className: "ant-input", type: "text" })))); },
26967
+ render: function (_, record) { return (React.createElement(antd.Space, { size: "middle" }, record.nationalPlanObjective ? (React.createElement(antd.Tooltip, { title: isNdcActionEditable(record) ? "" : t("ndc:ndcUnauthorisedMsg") },
26968
+ React.createElement("span", null, record.nationalPlanObjective))) : (React.createElement(antd.Input, { placeholder: "Enter National Plan Objective" })))); },
26863
26969
  },
26864
26970
  {
26865
26971
  title: t("ndc:ndcColumnsKpi"),
26866
26972
  dataIndex: "kpi",
26867
26973
  key: "kpi",
26868
26974
  align: "left",
26975
+ width: 100,
26869
26976
  editable: true,
26870
- width: "10%",
26871
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26872
- React.createElement("span", null, record.kpi))) : (React.createElement("input", { placeholder: "Enter Kpi", className: "ant-input", type: "text" })))); },
26977
+ render: function (_, record) { return (React.createElement(antd.Space, { size: "middle" }, record.kpi ? (React.createElement(antd.Tooltip, { title: isNdcActionEditable(record) ? "" : t("ndc:ndcUnauthorisedMsg") },
26978
+ React.createElement("span", null, record.kpi))) : (React.createElement(antd.Input, { placeholder: "Enter Kpi" })))); },
26873
26979
  },
26874
26980
  {
26875
- title: "Government Department",
26876
- dataIndex: "ministry",
26877
- key: "ministry",
26981
+ title: t("ndc:ndcColumnsMinistry"),
26982
+ dataIndex: "ministryName",
26983
+ key: "ministryName",
26878
26984
  align: "left",
26879
- editable: true,
26880
- width: "40%",
26881
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26882
- React.createElement("span", null, record.ministry))) : (React.createElement("input", { placeholder: "Please add the Government Department", className: "ant-input", type: "text" })))); },
26985
+ width: 300,
26986
+ editable: false,
26987
+ render: function (_, record) { return (React.createElement(antd.Tooltip, { title: isSubNdcActionsEditable(record) ? "" : t("ndc:ndcUnauthorisedMsg") },
26988
+ React.createElement(antd.Select, { disabled: !(isSubNdcActionsEditable(record) && isEditing(record)), defaultValue: record.ministryName ? record.ministryName : loginMinistry, style: { width: 220 }, onChange: function (value, option) {
26989
+ record.ministryName = option.label;
26990
+ handleSave(record);
26991
+ }, options: ministryOrgList }))); },
26992
+ },
26993
+ {
26994
+ title: t("ndc:ndcColumnsStatus"),
26995
+ dataIndex: "status",
26996
+ key: "status",
26997
+ align: "left",
26998
+ width: 200,
26999
+ editable: false,
27000
+ render: function (_, record) {
27001
+ var menu = actionMenu(record);
27002
+ return (React.createElement("div", { onClick: function (event) { return event.stopPropagation(); } },
27003
+ record.actionType === NdcDetailsActionType.SubAction &&
27004
+ record.status !== NdcDetailsActionStatus.New ? (React.createElement(antd.Tooltip, { title: record.status, color: TooltipColor, key: TooltipColor },
27005
+ React.createElement(antd.Tag, { className: "clickable", color: getNdcActionStatusTagType(record.status) }, addSpaces(record.status)))) : (""),
27006
+ record.actionType === NdcDetailsActionType.SubAction && menu ? (React.createElement(antd.Popover, { placement: "bottomRight", content: menu, trigger: "click" },
27007
+ React.createElement(icons.EllipsisOutlined, { rotate: 90, style: {
27008
+ fontWeight: 600,
27009
+ fontSize: "1rem",
27010
+ cursor: "pointer",
27011
+ } }))) : (React.createElement("span", null))));
27012
+ },
26883
27013
  },
26884
27014
  ];
26885
27015
  var columns = defaultColumns.map(function (col) {
26886
27016
  if (!col.editable) {
26887
27017
  return col;
26888
27018
  }
26889
- return __assign(__assign({}, col), { onCell: function (record) { return ({
26890
- record: record,
26891
- editable: col.editable,
26892
- dataIndex: col.dataIndex,
26893
- title: col.title,
26894
- handleSave: handleSave,
26895
- }); } });
27019
+ return __assign(__assign({}, col), { onCell: function (record) {
27020
+ return {
27021
+ record: record,
27022
+ editing: isEditing(record),
27023
+ dataIndex: col.dataIndex,
27024
+ title: col.title,
27025
+ onBlurHandler: function (record) {
27026
+ if (isEditing(record)) {
27027
+ handleSave(record);
27028
+ }
27029
+ },
27030
+ t: t,
27031
+ };
27032
+ } });
26896
27033
  });
26897
- function onAddNewNdcDetail() {
26898
- var range = selectedTab.split("-");
26899
- var ndcActionId = ++addedNdcDetailId.current;
26900
- var newData = {
26901
- key: ndcActionId,
26902
- type: NdcActionType.main,
26903
- startDate: new Date("".concat(Number(range[0]), "-01-24 23:12:00")),
26904
- endDate: new Date("".concat(Number(range[0]), "-12-24 23:12:00")),
26905
- nationalPlanObj: "",
26906
- kpi: "",
26907
- ministry: "",
26908
- subNdcDetails: [
26909
- {
26910
- key: ++addedNdcDetailId.current,
26911
- ndcActionId: ndcActionId,
26912
- type: NdcActionType.sub,
26913
- startDate: new Date("2019-03-25"),
26914
- endDate: new Date("2020-03-25"),
26915
- nationalPlanObj: "",
26916
- kpi: "",
26917
- ministry: "",
26918
- },
26919
- ],
26920
- };
26921
- setNdcDetailsData(__spreadArray(__spreadArray([], ndcDetailsData, true), [newData], false));
27034
+ function onClickedAddNewNdcDetail() {
27035
+ return __awaiter(this, void 0, void 0, function () {
27036
+ var periodId, newData_1, lastPage;
27037
+ return __generator(this, function (_a) {
27038
+ if (selectedPeriod.key !== "add_new") {
27039
+ form.setFieldsValue({
27040
+ nationalPlanObjective: "",
27041
+ kpi: "",
27042
+ });
27043
+ periodId = parseInt(selectedPeriod.key);
27044
+ newData_1 = {
27045
+ id: nextAvailableActionId,
27046
+ actionType: NdcDetailsActionType.MainAction,
27047
+ nationalPlanObjective: "",
27048
+ kpi: "",
27049
+ ministryName: loginMinistry,
27050
+ periodId: periodId,
27051
+ status: NdcDetailsActionStatus.New,
27052
+ };
27053
+ setEditingKey(nextAvailableActionId);
27054
+ setNextAvailableActionId(function (value) { return value + 1; });
27055
+ setNdcActionsList(function (ndcActionsList) { return __spreadArray(__spreadArray([], ndcActionsList, true), [
27056
+ newData_1,
27057
+ ], false); });
27058
+ setTableKey(function (key) { return key + 1; });
27059
+ if (ndcMainDetailsForPeriod.length + 1 > pageSize) {
27060
+ lastPage = Math.ceil(ndcMainDetailsForPeriod.length / pageSize);
27061
+ setCurrentPage(lastPage);
27062
+ }
27063
+ }
27064
+ return [2 /*return*/];
27065
+ });
27066
+ });
26922
27067
  }
26923
27068
  var components = {
26924
27069
  body: {
26925
- row: EditableRow,
26926
27070
  cell: EditableCell,
26927
27071
  },
26928
27072
  };
26929
- //commented because rendering issue
26930
- function ndcDetailsTableContent() {
26931
- return (React.createElement("div", null)
26932
- // <div>
26933
- // <Button
26934
- // onClick={onAddNewNdcDetail}
26935
- // type="primary"
26936
- // style={{
26937
- // marginBottom: 16,
26938
- // }}
26939
- // >
26940
- // Add a row
26941
- // </Button>
26942
- // <Table
26943
- // components={components}
26944
- // rowClassName={() => 'editable-row'}
26945
- // bordered
26946
- // dataSource={ndcDetailsData}
26947
- // columns={columns}
26948
- // />
26949
- // </div>
26950
- );
26951
- }
26952
- var onCancelPeriod = function () { };
26953
- var onAddNewPeriod = function () {
26954
- if (selectedPeriod &&
26955
- selectedPeriod.current &&
26956
- selectedPeriod.current.start &&
26957
- selectedPeriod.current.end) {
26958
- var newPeriodItem_1 = {
26959
- key: "".concat(selectedPeriod.current.start, "-").concat(selectedPeriod.current.end),
26960
- label: "".concat(selectedPeriod.current.start, "-").concat(selectedPeriod.current.end),
26961
- start: selectedPeriod.current.start,
26962
- end: selectedPeriod.current.end,
26963
- children: ndcDetailsTableContent(),
26964
- };
26965
- var existingIndex = periodItemsRef.current.findIndex(function (item) {
26966
- return inRange(newPeriodItem_1.start, item.start, item.end) ||
26967
- inRange(newPeriodItem_1.end, item.start, item.end);
27073
+ var onClickedDeletePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
27074
+ return __generator(this, function (_a) {
27075
+ setActionInfo({
27076
+ action: "Delete",
27077
+ headerText: t("ndc:periodDeleteConfirmTitle"),
27078
+ type: "danger",
27079
+ icon: React.createElement(Icon__namespace.XCircle, null),
27080
+ recordId: selectedPeriod.key,
26968
27081
  });
26969
- if (existingIndex === -1) {
26970
- setPeriodItems(function (items) { return __spreadArray(__spreadArray([], items, true), [newPeriodItem_1], false); });
26971
- periodItemsRef.current = __spreadArray(__spreadArray([], periodItemsRef.current, true), [newPeriodItem_1], false);
27082
+ setOpenConfirmationModal(true);
27083
+ return [2 /*return*/];
27084
+ });
27085
+ }); };
27086
+ var onClickedFinalizePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
27087
+ var isPendingActionAvailable;
27088
+ return __generator(this, function (_a) {
27089
+ if (ndcMainDetailsForPeriod.length === 0) {
27090
+ antd.message.open({
27091
+ type: "error",
27092
+ content: t("ndc:finalizeNdcEmptyErrorText"),
27093
+ duration: 3,
27094
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27095
+ });
27096
+ return [2 /*return*/];
26972
27097
  }
26973
- else {
27098
+ isPendingActionAvailable = false;
27099
+ ndcMainDetailsForPeriod.forEach(function (mainAction) {
27100
+ var pendingActions = ndcActionsList.filter(function (action) {
27101
+ return (action.status === NdcDetailsActionStatus.Pending &&
27102
+ action.actionType === NdcDetailsActionType.SubAction &&
27103
+ action.parentActionId === mainAction.id);
27104
+ });
27105
+ if (pendingActions && pendingActions.length > 0) {
27106
+ isPendingActionAvailable = true;
27107
+ return;
27108
+ }
27109
+ });
27110
+ if (isPendingActionAvailable) {
26974
27111
  antd.message.open({
26975
27112
  type: "error",
26976
- content: t("ndc:rangeAlreadyExists"),
27113
+ content: t("ndc:finalizeErrorText"),
26977
27114
  duration: 3,
26978
27115
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26979
27116
  });
26980
27117
  }
27118
+ else {
27119
+ setActionInfo({
27120
+ action: "Finalize",
27121
+ headerText: t("ndc:finalizeApproveTitle"),
27122
+ text: t("ndc:finalizeApproveSubTitle"),
27123
+ type: "primary",
27124
+ icon: React.createElement(Icon__namespace.Clipboard2Check, null),
27125
+ recordId: selectedPeriod.key,
27126
+ });
27127
+ setOpenConfirmationModal(true);
27128
+ }
27129
+ return [2 /*return*/];
27130
+ });
27131
+ }); };
27132
+ var onMainTableRowExpand = function (expanded, record) {
27133
+ var keys = [];
27134
+ if (expanded) {
27135
+ keys.push(record.id);
26981
27136
  }
26982
- };
26983
- React.useEffect(function () {
26984
- if (periodItems && periodItems.length > 3) {
26985
- setSelectedTab(periodItems[periodItems.length - 1].key);
26986
- }
26987
- }, [periodItems]);
26988
- var onDateRangeChanged = function (range) {
26989
- var period = {
26990
- start: Number(moment(range[0]).year()),
26991
- end: Number(moment(range[1]).year()),
26992
- };
26993
- selectedPeriod.current = period;
27137
+ setExpandedRowKeys(keys);
27138
+ setNdcSubActionsForMainAction(record.id);
26994
27139
  };
26995
27140
  function addNewPeriodContent() {
26996
27141
  return (React.createElement("div", null,
26997
- React.createElement(antd.Row, null,
26998
- React.createElement(RangePicker, { onChange: onDateRangeChanged, picker: "year" })),
26999
- React.createElement(antd.Row, { className: "mg-top-1" },
27000
- React.createElement("div", { className: "ndc-steps-actions" },
27001
- React.createElement(antd.Button, { type: "primary", onClick: onAddNewPeriod, htmlType: "submit", loading: loading }, t("ndc:submit")),
27002
- React.createElement(antd.Button, { className: "back-btn", onClick: onCancelPeriod, loading: loading }, t("ndc:back"))))));
27003
- }
27004
- function getSubNdcActionContent(record) {
27005
- selectedNdcDetail.current = record;
27006
- return (React.createElement(antd.Table, { components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getSubNdcDetails(record.key), columns: columns, showHeader: false, pagination: false }));
27142
+ React.createElement(antd.Row, { justify: "start", align: "middle", gutter: [16, 16] },
27143
+ React.createElement(antd.Col, { flex: "340px" },
27144
+ React.createElement(RangePicker, { disabledDate: function (current) { return moment(current).year() < 1900; }, onChange: onDateRangeChanged, picker: "year" })),
27145
+ React.createElement(antd.Col, { flex: "auto" },
27146
+ React.createElement(antd.Button, { type: "primary", onClick: onAddNewPeriod, htmlType: "submit", loading: loading }, t("ndc:submit"))))));
27007
27147
  }
27008
- var onTabChange = function (key) {
27009
- setSelectedTab(key);
27148
+ var onChange = function (page, size) {
27149
+ setCurrentPage(page);
27150
+ setPageSize(size);
27010
27151
  };
27011
- React.useEffect(function () {
27012
- var defaultNdcDetails = [
27013
- {
27014
- key: 1,
27015
- type: NdcActionType.main,
27016
- startDate: new Date("2019-03-25"),
27017
- endDate: new Date("2020-03-25"),
27018
- nationalPlanObj: "Enhance value addition in key growth opportunities",
27019
- kpi: 25,
27020
- ministry: "Ministry of Environment",
27021
- subNdcDetails: [
27022
- {
27023
- key: 6,
27024
- ndcActionId: 1,
27025
- type: NdcActionType.sub,
27026
- startDate: new Date("2019-03-25"),
27027
- endDate: new Date("2020-03-25"),
27028
- nationalPlanObj: "Enhance value addition in key growth opportunities sub details",
27029
- kpi: 25,
27030
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
27031
- },
27032
- {
27033
- key: 7,
27034
- ndcActionId: 1,
27035
- type: NdcActionType.sub,
27036
- startDate: new Date("2019-03-25"),
27037
- endDate: new Date("2020-03-25"),
27038
- nationalPlanObj: "",
27039
- kpi: "",
27040
- ministry: "",
27041
- },
27042
- ],
27043
- },
27044
- {
27045
- key: 2,
27046
- type: NdcActionType.main,
27047
- startDate: new Date("2019-03-25"),
27048
- endDate: new Date("2019-08-25"),
27049
- nationalPlanObj: "Strengthen the private sector to create 10,000 jobs",
27050
- kpi: 10500,
27051
- ministry: "Ministry of Environment",
27052
- subNdcDetails: [
27053
- {
27054
- key: 8,
27055
- ndcActionId: 2,
27056
- type: NdcActionType.sub,
27057
- startDate: new Date("2019-03-25"),
27058
- endDate: new Date("2020-03-25"),
27059
- nationalPlanObj: "",
27060
- kpi: "",
27061
- ministry: "",
27062
- },
27063
- ],
27064
- },
27065
- {
27066
- key: 12,
27067
- type: NdcActionType.main,
27068
- startDate: new Date("2019-03-25"),
27069
- endDate: new Date("2019-08-25"),
27070
- nationalPlanObj: "Other",
27071
- kpi: 10500,
27072
- ministry: "Ministry of Environment",
27073
- subNdcDetails: [
27074
- {
27075
- key: 8,
27076
- ndcActionId: 12,
27077
- type: NdcActionType.sub,
27078
- startDate: new Date("2019-03-25"),
27079
- endDate: new Date("2020-03-25"),
27080
- nationalPlanObj: "",
27081
- kpi: "",
27082
- ministry: "",
27083
- },
27084
- ],
27085
- },
27086
- {
27087
- key: 3,
27088
- type: NdcActionType.main,
27089
- startDate: new Date("2021-03-25"),
27090
- endDate: new Date("2022-03-25"),
27091
- nationalPlanObj: "Consolidate and increase the stock and quality of productive infrastructure by 50%",
27092
- kpi: 48,
27093
- ministry: "Ministry of Environment",
27094
- subNdcDetails: [
27095
- {
27096
- key: 9,
27097
- ndcActionId: 3,
27098
- type: NdcActionType.sub,
27099
- startDate: new Date("2019-03-25"),
27100
- endDate: new Date("2020-03-25"),
27101
- nationalPlanObj: "",
27102
- kpi: "",
27103
- ministry: "",
27104
- },
27105
- ],
27106
- },
27107
- {
27108
- key: 4,
27109
- type: NdcActionType.main,
27110
- startDate: new Date("2022-03-25"),
27111
- endDate: new Date("2022-05-25"),
27112
- nationalPlanObj: "Enhance the productivity and social wellbeing of the population",
27113
- kpi: 20,
27114
- ministry: "Ministry of Environment",
27115
- subNdcDetails: [
27116
- {
27117
- key: 10,
27118
- ndcActionId: 4,
27119
- type: NdcActionType.sub,
27120
- startDate: new Date("2019-03-25"),
27121
- endDate: new Date("2020-03-25"),
27122
- nationalPlanObj: "",
27123
- kpi: "",
27124
- ministry: "",
27125
- },
27126
- ],
27127
- },
27128
- {
27129
- key: 5,
27130
- type: NdcActionType.main,
27131
- startDate: new Date("2022-03-25"),
27132
- endDate: new Date("2023-03-25"),
27133
- nationalPlanObj: "Strengthen the role of the state in guiding and facilitating development",
27134
- kpi: 10,
27135
- ministry: "Ministry of Environment",
27136
- subNdcDetails: [
27137
- {
27138
- key: 11,
27139
- ndcActionId: 5,
27140
- type: NdcActionType.sub,
27141
- startDate: new Date("2019-03-25"),
27142
- endDate: new Date("2020-03-25"),
27143
- nationalPlanObj: "",
27144
- kpi: "",
27145
- ministry: "",
27146
- },
27147
- ],
27148
- },
27149
- {
27150
- key: 13,
27151
- type: NdcActionType.main,
27152
- startDate: new Date("2022-03-25"),
27153
- endDate: new Date("2023-03-25"),
27154
- nationalPlanObj: "Convert to solar energy",
27155
- kpi: 50000,
27156
- ministry: "Ministry of Environment",
27157
- subNdcDetails: [
27158
- {
27159
- key: 11,
27160
- ndcActionId: 13,
27161
- type: NdcActionType.sub,
27162
- startDate: new Date("2019-03-25"),
27163
- endDate: new Date("2020-03-25"),
27164
- nationalPlanObj: "Convert to solar energy",
27165
- kpi: "3000",
27166
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
27167
- },
27168
- {
27169
- key: 14,
27170
- ndcActionId: 13,
27171
- type: NdcActionType.sub,
27172
- startDate: new Date("2019-03-25"),
27173
- endDate: new Date("2020-03-25"),
27174
- nationalPlanObj: "",
27175
- kpi: "",
27176
- ministry: "",
27177
- },
27178
- ],
27179
- },
27180
- {
27181
- key: 15,
27182
- type: NdcActionType.main,
27183
- startDate: new Date("2022-03-25"),
27184
- endDate: new Date("2023-03-25"),
27185
- nationalPlanObj: "Strengthen the private sector to create jobs",
27186
- kpi: 10000,
27187
- ministry: "Ministry of Environment",
27188
- subNdcDetails: [
27189
- {
27190
- key: 16,
27191
- ndcActionId: 15,
27192
- type: NdcActionType.sub,
27193
- startDate: new Date("2019-03-25"),
27194
- endDate: new Date("2020-03-25"),
27195
- nationalPlanObj: "Strengthen the private sector to create jobs",
27196
- kpi: "7200",
27197
- ministry: "Ministry of Tourism (MoT)",
27198
- },
27199
- {
27200
- key: 17,
27201
- ndcActionId: 15,
27202
- type: NdcActionType.sub,
27203
- startDate: new Date("2019-03-25"),
27204
- endDate: new Date("2020-03-25"),
27205
- nationalPlanObj: "",
27206
- kpi: "",
27207
- ministry: "",
27208
- },
27209
- ],
27210
- },
27211
- {
27212
- key: 18,
27213
- type: NdcActionType.main,
27214
- startDate: new Date("2022-03-25"),
27215
- endDate: new Date("2023-03-25"),
27216
- nationalPlanObj: "Other",
27217
- kpi: "",
27218
- ministry: "Ministry of Environment",
27219
- subNdcDetails: [
27220
- {
27221
- key: 19,
27222
- ndcActionId: 18,
27223
- type: NdcActionType.sub,
27224
- startDate: new Date("2019-03-25"),
27225
- endDate: new Date("2020-03-25"),
27226
- nationalPlanObj: "Strengthen the private sector to create jobs",
27227
- kpi: "",
27228
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
27152
+ function mainNdcActionTableContent() {
27153
+ return (React.createElement("div", null,
27154
+ React.createElement(antd.Row, null,
27155
+ React.createElement(antd.Col, { span: 24 },
27156
+ React.createElement(antd.Form, { form: form, component: false },
27157
+ React.createElement(antd.Table, { tableLayout: "fixed", key: tableKey, className: "common-table-class", rowKey: "id", pagination: {
27158
+ current: currentPage,
27159
+ pageSize: pageSize,
27160
+ total: ndcMainDetailsForPeriod.length,
27161
+ showQuickJumper: true,
27162
+ showSizeChanger: true,
27163
+ onChange: onChange,
27164
+ }, components: components, rowClassName: function () { return "editable-row"; }, bordered: true, loading: loading, dataSource: ndcMainDetailsForPeriod, columns: columns, expandedRowKeys: expandedRowKeys, onExpand: onMainTableRowExpand, expandable: {
27165
+ expandedRowRender: function (record) {
27166
+ return subNdcActionTableContent();
27167
+ },
27168
+ columnWidth: 40,
27169
+ }, onRow: function (record, rowIndex) {
27170
+ return {
27171
+ onClick: function (event) {
27172
+ if (record.id &&
27173
+ isNdcActionEditable(record) &&
27174
+ !isEditing(record)) {
27175
+ form.setFieldsValue(__assign({}, record));
27176
+ setEditingKey(record.id);
27177
+ }
27178
+ },
27179
+ onMouseLeave: function () {
27180
+ if (isEditing(record)) {
27181
+ handleSave(record);
27182
+ }
27183
+ },
27184
+ };
27185
+ }, footer: function () {
27186
+ return isGovernmentUser &&
27187
+ !selectedPeriod.finalized && (React.createElement(antd.Row, { justify: "center" },
27188
+ React.createElement(antd.Button, { className: "btnAddNewMainAct", disabled: isMainActionInEditMode(), onClick: onClickedAddNewNdcDetail, type: "default" }, t("ndc:addNdcAction"))));
27189
+ } })))),
27190
+ isGovernmentUser && !selectedPeriod.finalized ? (React.createElement(antd.Row, { justify: "end" },
27191
+ React.createElement(antd.Button, { className: "mg-left-1 btn-danger", onClick: onClickedDeletePeriod, htmlType: "submit", disabled: isMainActionInEditMode(), loading: loading }, t("ndc:delete")),
27192
+ React.createElement(antd.Button, { className: "mg-left-1", type: "primary", onClick: onClickedFinalizePeriod, disabled: isMainActionInEditMode(), htmlType: "submit", loading: loading }, t("ndc:finalize")))) : ("")));
27193
+ }
27194
+ function subNdcActionTableContent(record) {
27195
+ return (React.createElement(antd.Table, { tableLayout: "fixed", rowKey: "id", components: components, rowClassName: function () { return "editable-row"; }, className: "common-table-class", bordered: true, dataSource: subNdcActionsForPeriod, loading: loading, onRow: function (record, rowIndex) {
27196
+ return {
27197
+ onClick: function (event) {
27198
+ if (record.id &&
27199
+ isNdcActionEditable(record) &&
27200
+ !isEditing(record)) {
27201
+ form.setFieldsValue(__assign({}, record));
27202
+ setEditingKey(record.id);
27203
+ }
27229
27204
  },
27230
- {
27231
- key: 20,
27232
- ndcActionId: 18,
27233
- type: NdcActionType.sub,
27234
- startDate: new Date("2019-03-25"),
27235
- endDate: new Date("2020-03-25"),
27236
- nationalPlanObj: "",
27237
- kpi: "",
27238
- ministry: "",
27205
+ onMouseLeave: function () {
27206
+ if (isEditing(record)) {
27207
+ handleSave(record);
27208
+ }
27239
27209
  },
27240
- ],
27241
- },
27242
- ];
27243
- var initialPeriods = [
27244
- {
27245
- key: "2019-2020",
27246
- label: "2019-2020",
27247
- start: 2019,
27248
- end: 2020,
27249
- children: ndcDetailsTableContent(),
27250
- },
27251
- {
27252
- key: "2021-2023",
27253
- label: "2021-2023",
27254
- start: 2021,
27255
- end: 2021,
27256
- children: ndcDetailsTableContent(),
27257
- },
27258
- ];
27259
- if (isAddRangeVisible()) {
27260
- initialPeriods.unshift({
27261
- key: "add_new",
27262
- label: "Add New",
27263
- start: 0,
27264
- end: 0,
27265
- children: addNewPeriodContent(),
27266
- });
27210
+ };
27211
+ }, columns: columns, showHeader: false, pagination: false }));
27212
+ }
27213
+ var onAddNewPeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
27214
+ var periodItem_1, existingIndex, response, addedPeriodItem, updatedPeriodItem_1, exception_3;
27215
+ return __generator(this, function (_a) {
27216
+ switch (_a.label) {
27217
+ case 0:
27218
+ _a.trys.push([0, 4, , 5]);
27219
+ if (!(selectedDateRangeRef &&
27220
+ selectedDateRangeRef.current &&
27221
+ selectedDateRangeRef.current.startYear &&
27222
+ selectedDateRangeRef.current.endYear)) return [3 /*break*/, 3];
27223
+ periodItem_1 = {
27224
+ startYear: selectedDateRangeRef.current.startYear,
27225
+ endYear: selectedDateRangeRef.current.endYear,
27226
+ finalized: false,
27227
+ };
27228
+ existingIndex = periodItems.findIndex(function (item) {
27229
+ return inRange(periodItem_1.startYear, item.startYear, item.endYear) ||
27230
+ inRange(periodItem_1.endYear, item.startYear, item.endYear);
27231
+ });
27232
+ if (!(existingIndex === -1)) return [3 /*break*/, 2];
27233
+ return [4 /*yield*/, post("national/programme/addNdcDetailsPeriod", __assign({}, periodItem_1))];
27234
+ case 1:
27235
+ response = _a.sent();
27236
+ if (response && response.data) {
27237
+ addedPeriodItem = response.data;
27238
+ updatedPeriodItem_1 = __assign(__assign({}, addedPeriodItem), { key: addedPeriodItem.id, label: "".concat(addedPeriodItem.startYear, "-").concat(addedPeriodItem.endYear) });
27239
+ setPeriodItems(function (items) { return __spreadArray(__spreadArray([], items, true), [updatedPeriodItem_1], false); });
27240
+ setSelectedPeriod(updatedPeriodItem_1);
27241
+ }
27242
+ return [3 /*break*/, 3];
27243
+ case 2:
27244
+ antd.message.open({
27245
+ type: "error",
27246
+ content: t("ndc:rangeAlreadyExists"),
27247
+ duration: 3,
27248
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27249
+ });
27250
+ _a.label = 3;
27251
+ case 3: return [3 /*break*/, 5];
27252
+ case 4:
27253
+ exception_3 = _a.sent();
27254
+ antd.message.open({
27255
+ type: "error",
27256
+ content: exception_3.message,
27257
+ duration: 3,
27258
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27259
+ });
27260
+ return [3 /*break*/, 5];
27261
+ case 5: return [2 /*return*/];
27262
+ }
27263
+ });
27264
+ }); };
27265
+ var onDateRangeChanged = function (range) {
27266
+ if (range) {
27267
+ var period = {
27268
+ startYear: Number(moment(range[0]).year()),
27269
+ endYear: Number(moment(range[1]).year()),
27270
+ };
27271
+ if (period.startYear === period.endYear) {
27272
+ antd.message.open({
27273
+ type: "error",
27274
+ content: t("ndc:sameStartEndDates"),
27275
+ duration: 3,
27276
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27277
+ });
27278
+ }
27279
+ else {
27280
+ selectedDateRangeRef.current = period;
27281
+ }
27267
27282
  }
27268
- addedNdcDetailId.current = 20;
27269
- setPeriodItems(initialPeriods);
27270
- periodItemsRef.current = initialPeriods;
27271
- setNdcDetailsData(defaultNdcDetails);
27283
+ };
27284
+ var onTabChange = function (key) {
27285
+ var selectedPeriod = periodItems.find(function (item) { return item.key === key; });
27286
+ if (selectedPeriod) {
27287
+ setSelectedPeriod(selectedPeriod);
27288
+ }
27289
+ };
27290
+ var onActionConfirmed = function () { return __awaiter(void 0, void 0, void 0, function () {
27291
+ var actionResponse, exception_4;
27292
+ return __generator(this, function (_a) {
27293
+ switch (_a.label) {
27294
+ case 0:
27295
+ setLoading(true);
27296
+ _a.label = 1;
27297
+ case 1:
27298
+ _a.trys.push([1, 10, , 11]);
27299
+ if (!(actionInfo.action === "Approve")) return [3 /*break*/, 3];
27300
+ return [4 /*yield*/, post("national/programme/approveNdcDetailsAction", {
27301
+ id: actionInfo.recordId,
27302
+ })];
27303
+ case 2:
27304
+ actionResponse = _a.sent();
27305
+ return [3 /*break*/, 9];
27306
+ case 3:
27307
+ if (!(actionInfo.action === "Reject")) return [3 /*break*/, 5];
27308
+ return [4 /*yield*/, post("national/programme/rejectNdcDetailsAction", {
27309
+ id: actionInfo.recordId,
27310
+ })];
27311
+ case 4:
27312
+ actionResponse = _a.sent();
27313
+ return [3 /*break*/, 9];
27314
+ case 5:
27315
+ if (!(actionInfo.action === "Finalize")) return [3 /*break*/, 7];
27316
+ return [4 /*yield*/, post("national/programme/finalizeNdcDetailsPeriod", {
27317
+ id: selectedPeriod.key,
27318
+ })];
27319
+ case 6:
27320
+ actionResponse = _a.sent();
27321
+ return [3 /*break*/, 9];
27322
+ case 7:
27323
+ if (!(actionInfo.action === "Delete")) return [3 /*break*/, 9];
27324
+ return [4 /*yield*/, post("national/programme/deleteNdcDetailsPeriod", {
27325
+ id: selectedPeriod.key,
27326
+ })];
27327
+ case 8:
27328
+ actionResponse = _a.sent();
27329
+ _a.label = 9;
27330
+ case 9: return [3 /*break*/, 11];
27331
+ case 10:
27332
+ exception_4 = _a.sent();
27333
+ antd.message.open({
27334
+ type: "error",
27335
+ content: exception_4.message,
27336
+ duration: 3,
27337
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27338
+ });
27339
+ return [3 /*break*/, 11];
27340
+ case 11:
27341
+ if (actionResponse) {
27342
+ if (actionInfo.action === "Delete") {
27343
+ antd.message.open({
27344
+ type: "success",
27345
+ content: t("ndc:deletePeriodSuccessMsg"),
27346
+ duration: 3,
27347
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27348
+ });
27349
+ fetchNdcDetailPeriods();
27350
+ }
27351
+ else if (actionInfo.action === "Finalize") {
27352
+ antd.message.open({
27353
+ type: "success",
27354
+ content: t("ndc:finalizeSuccessMsg"),
27355
+ duration: 3,
27356
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27357
+ });
27358
+ fetchNdcDetailPeriods();
27359
+ setExpandedRowKeys([]);
27360
+ setEditingKey(null);
27361
+ }
27362
+ else if (actionInfo.action === "Approve") {
27363
+ antd.message.open({
27364
+ type: "success",
27365
+ content: t("ndc:approveSuccessMsg"),
27366
+ duration: 3,
27367
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27368
+ });
27369
+ fetchNdcDetailActions();
27370
+ }
27371
+ else if (actionInfo.action === "Reject") {
27372
+ antd.message.open({
27373
+ type: "success",
27374
+ content: t("ndc:rejectSuccessMsg"),
27375
+ duration: 3,
27376
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27377
+ });
27378
+ fetchNdcDetailActions();
27379
+ }
27380
+ }
27381
+ setOpenConfirmationModal(false);
27382
+ setLoading(false);
27383
+ return [2 /*return*/];
27384
+ }
27385
+ });
27386
+ }); };
27387
+ var onActionCanceled = function () {
27388
+ setOpenConfirmationModal(false);
27389
+ };
27390
+ var fetchNdcDetailPeriods = function () { return __awaiter(void 0, void 0, void 0, function () {
27391
+ var periods, addNewTab, response, exception_5;
27392
+ return __generator(this, function (_a) {
27393
+ switch (_a.label) {
27394
+ case 0:
27395
+ setLoading(true);
27396
+ _a.label = 1;
27397
+ case 1:
27398
+ _a.trys.push([1, 3, 4, 5]);
27399
+ periods = [];
27400
+ addNewTab = {
27401
+ key: "add_new",
27402
+ label: "Add New",
27403
+ startYear: 0,
27404
+ endYear: 0,
27405
+ finalized: false,
27406
+ deleted: false,
27407
+ };
27408
+ return [4 /*yield*/, get("national/programme/queryNdcDetailsPeriod")];
27409
+ case 2:
27410
+ response = _a.sent();
27411
+ if (response && response.data) {
27412
+ periods = response.data.map(function (period) {
27413
+ return __assign(__assign({}, period), { key: period.id, label: period.finalized ? (React.createElement("span", null,
27414
+ React.createElement(icons.LockOutlined, null),
27415
+ " ",
27416
+ period.startYear,
27417
+ "-",
27418
+ period.endYear,
27419
+ " ")) : ("".concat(period.startYear, "-").concat(period.endYear)) });
27420
+ });
27421
+ }
27422
+ if (isGovernmentUser) {
27423
+ periods.unshift(addNewTab);
27424
+ }
27425
+ setPeriodItems(periods);
27426
+ if (isGovernmentUser) {
27427
+ setSelectedPeriod(addNewTab);
27428
+ }
27429
+ else {
27430
+ setSelectedPeriod(periods[0]);
27431
+ }
27432
+ setLoading(false);
27433
+ return [3 /*break*/, 5];
27434
+ case 3:
27435
+ exception_5 = _a.sent();
27436
+ antd.message.open({
27437
+ type: "error",
27438
+ content: exception_5.message,
27439
+ duration: 3,
27440
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27441
+ });
27442
+ return [3 /*break*/, 5];
27443
+ case 4:
27444
+ setLoading(false);
27445
+ return [7 /*endfinally*/];
27446
+ case 5: return [2 /*return*/];
27447
+ }
27448
+ });
27449
+ }); };
27450
+ var fetchNdcDetailActions = function () { return __awaiter(void 0, void 0, void 0, function () {
27451
+ var response, maxActionId, exception_6;
27452
+ return __generator(this, function (_a) {
27453
+ switch (_a.label) {
27454
+ case 0:
27455
+ setLoading(true);
27456
+ _a.label = 1;
27457
+ case 1:
27458
+ _a.trys.push([1, 3, 4, 5]);
27459
+ return [4 /*yield*/, get("national/programme/queryNdcDetailsAction")];
27460
+ case 2:
27461
+ response = _a.sent();
27462
+ if (response && response.data) {
27463
+ maxActionId = Math.max.apply(Math, response.data.map(function (item) { return item.id; }));
27464
+ setNextAvailableActionId(maxActionId + 1);
27465
+ setNdcActionsList(response.data);
27466
+ }
27467
+ setLoading(false);
27468
+ return [3 /*break*/, 5];
27469
+ case 3:
27470
+ exception_6 = _a.sent();
27471
+ antd.message.open({
27472
+ type: "error",
27473
+ content: exception_6.message,
27474
+ duration: 3,
27475
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27476
+ });
27477
+ return [3 /*break*/, 5];
27478
+ case 4:
27479
+ setLoading(false);
27480
+ return [7 /*endfinally*/];
27481
+ case 5: return [2 /*return*/];
27482
+ }
27483
+ });
27484
+ }); };
27485
+ var fetchMinistries = function () { return __awaiter(void 0, void 0, void 0, function () {
27486
+ var response, ministryOrgDetails, exception_7;
27487
+ return __generator(this, function (_a) {
27488
+ switch (_a.label) {
27489
+ case 0:
27490
+ setLoading(true);
27491
+ _a.label = 1;
27492
+ case 1:
27493
+ _a.trys.push([1, 3, 4, 5]);
27494
+ return [4 /*yield*/, get("national/organisation/getMinistries")];
27495
+ case 2:
27496
+ response = _a.sent();
27497
+ if (response && response.data) {
27498
+ ministryOrgDetails = response.data.map(function (value) {
27499
+ return {
27500
+ value: value.company_companyId,
27501
+ label: value.company_name,
27502
+ };
27503
+ });
27504
+ setMinistryOrgList(ministryOrgDetails);
27505
+ }
27506
+ setLoading(false);
27507
+ return [3 /*break*/, 5];
27508
+ case 3:
27509
+ exception_7 = _a.sent();
27510
+ antd.message.open({
27511
+ type: "error",
27512
+ content: exception_7.message,
27513
+ duration: 3,
27514
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
27515
+ });
27516
+ return [3 /*break*/, 5];
27517
+ case 4:
27518
+ setLoading(false);
27519
+ return [7 /*endfinally*/];
27520
+ case 5: return [2 /*return*/];
27521
+ }
27522
+ });
27523
+ }); };
27524
+ React.useEffect(function () {
27525
+ fetchNdcDetailPeriods();
27526
+ fetchNdcDetailActions();
27527
+ fetchMinistries();
27272
27528
  }, []);
27273
- return (React.createElement("div", { className: "ndc-management content-container" },
27529
+ return (React.createElement("div", { className: "ndc-details content-container" },
27274
27530
  React.createElement("div", { className: "title-bar" },
27275
27531
  React.createElement(antd.Row, { justify: "space-between", align: "middle" },
27276
27532
  React.createElement(antd.Col, { span: 20 },
27277
27533
  React.createElement("div", { className: "body-title" }, t("ndc:ndcTitle")),
27278
27534
  React.createElement("div", { className: "body-sub-title" }, t("ndc:ndcSubTitle"))))),
27279
27535
  React.createElement("div", null,
27280
- React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedTab, onChange: onTabChange })),
27281
- selectedTab !== "add_new" && (React.createElement("div", null,
27282
- React.createElement("div", null,
27283
- React.createElement(antd.Table, { key: tableKey, components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getNdcDetailsForPeriod(), columns: columns, expandable: {
27284
- expandedRowRender: function (record) { return getSubNdcActionContent(record); },
27285
- indentSize: 0,
27286
- defaultExpandedRowKeys: [selectedNdcDetail.current.key],
27287
- }, footer: function () {
27288
- return isAddNdcActionVisible() && (React.createElement(antd.Row, { justify: "center" },
27289
- React.createElement(antd.Button, { onClick: onAddNewNdcDetail, type: "default", style: {
27290
- marginBottom: 16,
27291
- width: "100%",
27292
- } }, t("ndc:addNdcAction"))));
27293
- } }))))));
27536
+ React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedPeriod.key, onChange: onTabChange })),
27537
+ React.createElement("div", null, selectedPeriod.key === "add_new"
27538
+ ? addNewPeriodContent()
27539
+ : mainNdcActionTableContent()),
27540
+ React.createElement(UserActionConfirmationModel, { t: t, actionInfo: actionInfo, onActionConfirmed: onActionConfirmed, onActionCanceled: onActionCanceled, openModal: openConfirmationModal, errorMsg: "", loading: loading })));
27294
27541
  };
27295
27542
 
27296
27543
  var ImgWithFallback = function (_a) {
@@ -27863,8 +28110,8 @@ var ProgrammeTransferForm = function (props) {
27863
28110
  },
27864
28111
  {
27865
28112
  key: "companyRole",
27866
- operation: "=",
27867
- value: exports.CompanyRole.PROGRAMME_DEVELOPER,
28113
+ operation: "!=",
28114
+ value: "Certifier",
27868
28115
  },
27869
28116
  ],
27870
28117
  sort: {
@@ -29083,7 +29330,7 @@ exports.getCreditStageVal = getCreditStageVal;
29083
29330
  exports.getFinancialFields = getFinancialFields;
29084
29331
  exports.getGeneralFields = getGeneralFields;
29085
29332
  exports.getInvestmentStatusEnumVal = getInvestmentStatusEnumVal;
29086
- exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal;
29333
+ exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal$1;
29087
29334
  exports.getNdcStatusTagType = getNdcStatusTagType;
29088
29335
  exports.getRetirementTypeString = getRetirementTypeString;
29089
29336
  exports.getStageEnumVal = getStageEnumVal;