@undp/carbon-library 1.0.175-CARBON-347.1 → 1.0.175-CARBON-363.54

Sign up to get free protection for your applications and to get access to all the features.
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:
@@ -26143,620 +26143,659 @@ var RegistryDashboardComponent = function (props) {
26143
26143
  lastUpdateTransferLocations))))))))) : ("")));
26144
26144
  };
26145
26145
 
26146
- var EditableContext = React.createContext(null);
26147
- var EditableRow = function (_a) {
26148
- _a.index; var props = __rest(_a, ["index"]);
26149
- var form = antd.Form.useForm()[0];
26150
- return (React.createElement(antd.Form, { form: form, component: false },
26151
- React.createElement(EditableContext.Provider, { value: form },
26152
- React.createElement("tr", __assign({}, props)))));
26153
- };
26146
+ React.createContext(null);
26154
26147
  var EditableCell = function (_a) {
26155
- 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"]);
26156
- var _b = React.useState(false), editing = _b[0], setEditing = _b[1];
26157
- var inputRef = React.useRef(null);
26158
- var form = React.useContext(EditableContext);
26159
- React.useEffect(function () {
26160
- if (editing) {
26161
- inputRef.current.focus();
26162
- }
26163
- }, [editing]);
26164
- var toggleEdit = function () {
26165
- var _a;
26166
- setEditing(!editing);
26167
- form.setFieldsValue((_a = {}, _a[dataIndex] = record[dataIndex], _a));
26168
- };
26169
- var save = function () { return __awaiter(void 0, void 0, void 0, function () {
26170
- var values, errInfo_1;
26171
- return __generator(this, function (_a) {
26172
- switch (_a.label) {
26173
- case 0:
26174
- _a.trys.push([0, 2, , 3]);
26175
- return [4 /*yield*/, form.validateFields()];
26176
- case 1:
26177
- values = _a.sent();
26178
- toggleEdit();
26179
- handleSave(__assign(__assign({}, record), values));
26180
- return [3 /*break*/, 3];
26181
- case 2:
26182
- errInfo_1 = _a.sent();
26183
- console.log("Save failed:", errInfo_1);
26184
- return [3 /*break*/, 3];
26185
- case 3: return [2 /*return*/];
26186
- }
26187
- });
26188
- }); };
26189
- var childNode = children;
26190
- if (editable) {
26191
- childNode = editing ? (React.createElement(antd.Form.Item, { style: { margin: 0 }, name: dataIndex, rules: [
26192
- {
26193
- required: true,
26194
- message: "".concat(title, " is required."),
26195
- },
26196
- ] },
26197
- 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));
26148
+ 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, restProps = __rest(_a, ["editing", "dataIndex", "title", "inputType", "record", "index", "children", "onBlurHandler"]);
26149
+ var inputNode;
26150
+ if (dataIndex === "nationalPlanObjective") {
26151
+ inputNode = (React.createElement(antd.Input, { onBlur: function () { return onBlurHandler(record); }, placeholder: "Enter National Plan Objective" }));
26152
+ }
26153
+ else if (dataIndex === "kpi") {
26154
+ inputNode = (React.createElement(antd.InputNumber, { onBlur: function () { return onBlurHandler(record); }, placeholder: "Enter Kpi" }));
26198
26155
  }
26199
- return React.createElement("td", __assign({}, restProps), childNode);
26156
+ return (React.createElement("td", __assign({}, restProps), editing ? (React.createElement(antd.Form.Item, { name: dataIndex, style: { margin: 0 }, rules: [
26157
+ {
26158
+ required: true,
26159
+ message: "Please Input ".concat(title, "!"),
26160
+ },
26161
+ ] }, inputNode)) : (children)));
26200
26162
  };
26201
26163
 
26202
- 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";
26164
+ 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-table-expanded-row .ant-table-cell {\n padding-left: 33px; }\n";
26203
26165
  styleInject(css_248z$4);
26204
26166
 
26205
- var NdcActionType;
26206
- (function (NdcActionType) {
26207
- NdcActionType[NdcActionType["main"] = 0] = "main";
26208
- NdcActionType[NdcActionType["sub"] = 1] = "sub";
26209
- })(NdcActionType || (NdcActionType = {}));
26167
+ var NdcDetailsActionType;
26168
+ (function (NdcDetailsActionType) {
26169
+ NdcDetailsActionType["MainAction"] = "MainAction";
26170
+ NdcDetailsActionType["SubAction"] = "SubAction";
26171
+ })(NdcDetailsActionType || (NdcDetailsActionType = {}));
26172
+ var NdcDetailsActionStatus;
26173
+ (function (NdcDetailsActionStatus) {
26174
+ NdcDetailsActionStatus["New"] = "New";
26175
+ NdcDetailsActionStatus["Pending"] = "Pending";
26176
+ NdcDetailsActionStatus["Approved"] = "Approved";
26177
+ NdcDetailsActionStatus["Rejected"] = "Rejected";
26178
+ })(NdcDetailsActionStatus || (NdcDetailsActionStatus = {}));
26179
+ var getNdcActionStatusEnumVal = function (value) {
26180
+ var index = Object.keys(NdcDetailsActionStatus).indexOf(value);
26181
+ if (index < 0) {
26182
+ return value;
26183
+ }
26184
+ return Object.values(NdcDetailsActionStatus)[index];
26185
+ };
26186
+ var getNdcActionStatusTagType = function (status) {
26187
+ switch (getNdcActionStatusEnumVal(status)) {
26188
+ case NdcDetailsActionStatus.Rejected:
26189
+ return "error";
26190
+ case NdcDetailsActionStatus.Pending:
26191
+ return "processing";
26192
+ case NdcDetailsActionStatus.Approved:
26193
+ return "success";
26194
+ default:
26195
+ return "default";
26196
+ }
26197
+ };
26198
+
26210
26199
  var NdcDetailsComponent = function (props) {
26211
- var t = props.t; props.useConnection; var useUserContext = props.useUserContext;
26200
+ var t = props.t, useConnection = props.useConnection, useUserContext = props.useUserContext;
26212
26201
  var RangePicker = antd.DatePicker.RangePicker;
26213
- var _a = React.useState([]), ndcDetailsData = _a[0], setNdcDetailsData = _a[1];
26214
- var _b = React.useState(false), loading = _b[0]; _b[1];
26215
- var periodItemsRef = React.useRef([]);
26202
+ var _a = React.useState([]), ndcActionsList = _a[0], setNdcActionsList = _a[1];
26203
+ var _b = React.useState(false), loading = _b[0], setLoading = _b[1];
26216
26204
  var _c = React.useState([]), periodItems = _c[0], setPeriodItems = _c[1];
26217
- var _d = React.useState("add_new"), selectedTab = _d[0], setSelectedTab = _d[1];
26218
- var selectedPeriod = React.useRef({});
26219
- var addedNdcDetailId = React.useRef(0);
26220
- var selectedNdcDetail = React.useRef({});
26205
+ var _d = React.useState({}), selectedPeriod = _d[0], setSelectedPeriod = _d[1];
26206
+ var selectedDateRangeRef = React.useRef({});
26221
26207
  var _e = React.useState(0), tableKey = _e[0], setTableKey = _e[1];
26208
+ var _f = useConnection(), get = _f.get, post = _f.post, put = _f.put;
26209
+ var _g = React.useState([]), ministryOrgList = _g[0], setMinistryOrgList = _g[1];
26210
+ var _h = React.useState({}), actionInfo = _h[0], setActionInfo = _h[1];
26211
+ var _j = React.useState(false), openConfirmationModal = _j[0], setOpenConfirmationModal = _j[1];
26212
+ var form = antd.Form.useForm()[0];
26213
+ var _k = React.useState(-1), editingKey = _k[0], setEditingKey = _k[1];
26214
+ var _l = React.useState(0), nextAvailableActionId = _l[0], setNextAvailableActionId = _l[1];
26215
+ var _m = React.useState([]), expandedRowKeys = _m[0], setExpandedRowKeys = _m[1];
26216
+ var _o = React.useState([]), subNdcActionsForPeriod = _o[0], setSubNdcActionsForPeriod = _o[1];
26217
+ var isEditing = function (record) { return record.id === editingKey; };
26222
26218
  var userInfoState = useUserContext().userInfoState;
26223
- var isAddRangeVisible = function () {
26224
- return (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY ||
26225
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT) &&
26219
+ React.useEffect(function () {
26220
+ if (expandedRowKeys && expandedRowKeys.length > 0) {
26221
+ var expandedKey = expandedRowKeys[0];
26222
+ setNdcSubActionsForMainAction(expandedKey);
26223
+ }
26224
+ }, ndcActionsList);
26225
+ var loginMinistry = (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT
26226
+ ? process.env.REACT_APP_GOVERNMENT_MINISTRY
26227
+ ? process.env.REACT_APP_GOVERNMENT_MINISTRY
26228
+ : "Test ministryName"
26229
+ : (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY
26230
+ ? userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyName
26231
+ : undefined;
26232
+ var isGovernmentUser = (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26233
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly;
26234
+ var isMainNdcActionsEditable = !selectedPeriod.finalized &&
26235
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26236
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly;
26237
+ var isSubNdcActionsEditable = function (record) {
26238
+ return (!selectedPeriod.finalized &&
26239
+ record.status !== NdcDetailsActionStatus.Approved &&
26240
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
26241
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY &&
26242
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyName) === record.ministryName)) &&
26226
26243
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
26227
26244
  };
26228
- var isAddNdcActionVisible = function () {
26229
- return ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
26230
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
26245
+ var isNdcActionEditable = function (record) {
26246
+ if (record.actionType === NdcDetailsActionType.MainAction) {
26247
+ return isMainNdcActionsEditable;
26248
+ }
26249
+ else if (record.actionType === NdcDetailsActionType.SubAction) {
26250
+ return isSubNdcActionsEditable(record);
26251
+ }
26252
+ };
26253
+ var ndcMainDetailsForPeriod = selectedPeriod.key !== "add_new"
26254
+ ? ndcActionsList.filter(function (ndcDetail) {
26255
+ return (ndcDetail.periodId === parseInt(selectedPeriod.key) &&
26256
+ ndcDetail.actionType === NdcDetailsActionType.MainAction);
26257
+ })
26258
+ : [];
26259
+ var setNdcSubActionsForMainAction = function (mainActionId) {
26260
+ var subNdcDetails = ndcActionsList.filter(function (ndcDetail) {
26261
+ return (ndcDetail.parentActionId === mainActionId &&
26262
+ ndcDetail.actionType === NdcDetailsActionType.SubAction);
26263
+ });
26264
+ var emptySubNdcRow = {
26265
+ id: nextAvailableActionId,
26266
+ actionType: NdcDetailsActionType.SubAction,
26267
+ nationalPlanObjective: "",
26268
+ kpi: "",
26269
+ ministryName: loginMinistry,
26270
+ status: NdcDetailsActionStatus.New,
26271
+ parentActionId: mainActionId,
26272
+ };
26273
+ if (!selectedPeriod.finalized) {
26274
+ subNdcDetails = __spreadArray(__spreadArray([], subNdcDetails, true), [emptySubNdcRow], false);
26275
+ setEditingKey(nextAvailableActionId);
26276
+ setNextAvailableActionId(function (value) { return value + 1; });
26277
+ form.setFieldsValue({
26278
+ nationalPlanObjective: "",
26279
+ kpi: "",
26280
+ });
26281
+ }
26282
+ setSubNdcActionsForPeriod(subNdcDetails);
26231
26283
  };
26232
26284
  var inRange = function (num, min, max) {
26233
26285
  return num >= min && num <= max;
26234
26286
  };
26235
- function onAddNewSubNdcDetail() {
26236
- var range = selectedTab.split('-');
26237
- var ndcDetail = ndcDetailsData.find(function (item) { return item.key === selectedNdcDetail.current.key; });
26238
- var ndcDetailItemIndex = ndcDetailsData.findIndex(function (item) { return item.key === selectedNdcDetail.current.key; });
26239
- if (ndcDetail) {
26240
- addedNdcDetailId.current = addedNdcDetailId.current + 1;
26241
- var newData = {
26242
- key: addedNdcDetailId.current,
26243
- startDate: new Date("".concat(Number(range[0]), "-01-24 23:12:00")),
26244
- endDate: new Date("".concat(Number(range[0]), "-12-24 23:12:00")),
26245
- ndcActionId: ndcDetail === null || ndcDetail === void 0 ? void 0 : ndcDetail.key,
26246
- nationalPlanObj: '',
26247
- kpi: '',
26248
- ministry: '',
26249
- };
26250
- if (!ndcDetail.subNdcDetails) {
26251
- ndcDetail.subNdcDetails = [];
26252
- }
26253
- ndcDetail.subNdcDetails.push(newData);
26254
- }
26255
- ndcDetailsData[ndcDetailItemIndex] = ndcDetail;
26256
- setNdcDetailsData(ndcDetailsData);
26257
- setTableKey(function (key) { return key + 1; });
26258
- }
26259
- var handleSave = function (row) {
26260
- setNdcDetailsData(function (prevData) {
26261
- var newData = JSON.parse(JSON.stringify(prevData));
26262
- if (row.type === NdcActionType.main) {
26263
- var index = newData.findIndex(function (item) { return row.key === item.key; });
26264
- if (index !== -1) {
26265
- newData[index] = __assign(__assign({}, newData[index]), row);
26266
- }
26267
- }
26268
- else {
26269
- var parentIndex = newData.findIndex(function (item) { return row.ndcActionId === item.key; });
26270
- var parentItem = newData[parentIndex];
26271
- if (parentItem) {
26272
- if (parentItem.subNdcDetails) {
26273
- var itemIndex = parentItem.subNdcDetails.findIndex(function (item) { return row.key === item.key; });
26274
- if (itemIndex === -1) {
26275
- parentItem.subNdcDetails.push(row);
26276
- }
26277
- else {
26278
- parentItem.subNdcDetails[itemIndex] = __assign({}, row);
26279
- }
26287
+ var handleSave = function (row) { return __awaiter(void 0, void 0, void 0, function () {
26288
+ var updatedFields, updatedItem, exception_1;
26289
+ return __generator(this, function (_a) {
26290
+ switch (_a.label) {
26291
+ case 0:
26292
+ _a.trys.push([0, 6, , 7]);
26293
+ return [4 /*yield*/, form.validateFields()];
26294
+ case 1:
26295
+ updatedFields = (_a.sent());
26296
+ updatedItem = __assign(__assign({}, row), updatedFields);
26297
+ if (!(updatedItem.status === NdcDetailsActionStatus.New)) return [3 /*break*/, 3];
26298
+ if (isGovernmentUser &&
26299
+ updatedItem.actionType === NdcDetailsActionType.SubAction) {
26300
+ updatedItem.status = NdcDetailsActionStatus.Approved;
26280
26301
  }
26281
26302
  else {
26282
- parentItem.subNdcDetails = [row];
26303
+ updatedItem.status = NdcDetailsActionStatus.Pending;
26283
26304
  }
26284
- }
26285
- newData[parentIndex] = __assign({}, parentItem);
26286
- setTableKey(function (key) { return key + 1; });
26305
+ return [4 /*yield*/, post("national/programme/addNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26306
+ case 2:
26307
+ _a.sent();
26308
+ return [3 /*break*/, 5];
26309
+ case 3:
26310
+ updatedItem.status = NdcDetailsActionStatus.Pending;
26311
+ return [4 /*yield*/, put("national/programme/updateNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26312
+ case 4:
26313
+ _a.sent();
26314
+ _a.label = 5;
26315
+ case 5:
26316
+ fetchNdcDetailActions();
26317
+ setEditingKey(-1);
26318
+ return [3 /*break*/, 7];
26319
+ case 6:
26320
+ exception_1 = _a.sent();
26321
+ console.log("error", exception_1);
26322
+ return [3 /*break*/, 7];
26323
+ case 7: return [2 /*return*/];
26287
26324
  }
26288
- return newData;
26289
26325
  });
26290
- };
26291
- var getNdcDetailsForPeriod = function () {
26292
- var range = selectedTab.split("-");
26293
- if (range.length > 1) {
26294
- var filteredData = ndcDetailsData.filter(function (item) {
26295
- return inRange(Number(moment(item.startDate).year()), Number(range[0]), Number(range[1]));
26296
- });
26297
- return filteredData;
26298
- }
26299
- else {
26300
- return [];
26301
- }
26302
- };
26303
- var getSubNdcDetails = function (key) {
26304
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
26305
- var ndcDetail = ndcDetailsData.find(function (item) { return item.key === key; });
26306
- if (ndcDetail) {
26307
- 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()) !== '' &&
26308
- ((_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) &&
26309
- ((_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()) !==
26310
- '' &&
26311
- ((_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) &&
26312
- 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() !== '' &&
26313
- 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)) {
26314
- onAddNewSubNdcDetail();
26315
- }
26316
- return ndcDetail.subNdcDetails;
26326
+ }); };
26327
+ var actionMenu = function (record) {
26328
+ if (record.status === NdcDetailsActionStatus.Pending &&
26329
+ isGovernmentUser &&
26330
+ !selectedPeriod.finalized) {
26331
+ return (React.createElement(antd.List, { className: "action-menu", size: "small", dataSource: [
26332
+ {
26333
+ text: t("ndc:approve"),
26334
+ icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26335
+ click: function () {
26336
+ setActionInfo({
26337
+ action: "Approve",
26338
+ headerText: t("ndc:actionApproveTitle"),
26339
+ type: "primary",
26340
+ icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26341
+ recordId: record.id,
26342
+ });
26343
+ setOpenConfirmationModal(true);
26344
+ },
26345
+ },
26346
+ {
26347
+ text: t("ndc:reject"),
26348
+ icon: React.createElement(Icon__namespace.XOctagon, null),
26349
+ click: function () {
26350
+ setActionInfo({
26351
+ action: "Reject",
26352
+ headerText: t("ndc:rejectApproveTitle"),
26353
+ type: "danger",
26354
+ icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26355
+ recordId: record.id,
26356
+ });
26357
+ setOpenConfirmationModal(true);
26358
+ },
26359
+ },
26360
+ ], renderItem: function (item) { return (React.createElement(antd.List.Item, { onClick: item.click },
26361
+ React.createElement(antd.Typography.Text, { className: "action-icon color-error" }, item.icon),
26362
+ React.createElement("span", null, item.text))); } }));
26317
26363
  }
26318
26364
  else {
26319
- return [];
26365
+ return null;
26320
26366
  }
26321
26367
  };
26322
26368
  var defaultColumns = [
26323
26369
  {
26324
26370
  title: t("ndc:ndcColumnsNationalPlanObj"),
26325
- dataIndex: "nationalPlanObj",
26326
- key: "nationalPlanObj",
26371
+ dataIndex: "nationalPlanObjective",
26372
+ key: "nationalPlanObjective",
26327
26373
  align: "left",
26374
+ width: 300,
26328
26375
  editable: true,
26329
- width: "50%",
26330
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26331
- React.createElement("span", null, record.nationalPlanObj))) : (React.createElement("input", { placeholder: "Please add the National Plan Objective", className: "ant-input", type: "text" })))); },
26376
+ render: function (_, record) { return (React.createElement(antd.Space, { size: "middle" }, record.nationalPlanObjective ? (React.createElement("span", null, record.nationalPlanObjective)) : (React.createElement(antd.Input, { placeholder: "Enter National Plan Objective" })))); },
26332
26377
  },
26333
26378
  {
26334
26379
  title: t("ndc:ndcColumnsKpi"),
26335
26380
  dataIndex: "kpi",
26336
26381
  key: "kpi",
26337
26382
  align: "left",
26383
+ width: 100,
26338
26384
  editable: true,
26339
- width: "10%",
26340
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26341
- React.createElement("span", null, record.kpi))) : (React.createElement("input", { placeholder: "Enter Kpi", className: "ant-input", type: "text" })))); },
26385
+ render: function (_, record) { return (React.createElement(antd.Space, { size: "middle" }, record.kpi ? (React.createElement("span", null, record.kpi)) : (React.createElement(antd.Input, { placeholder: "Enter Kpi" })))); },
26342
26386
  },
26343
26387
  {
26344
- title: "Ministry",
26345
- dataIndex: "ministry",
26346
- key: "ministry",
26388
+ title: t("ndc:ndcColumnsMinistry"),
26389
+ dataIndex: "ministryName",
26390
+ key: "ministryName",
26347
26391
  align: "left",
26348
- editable: true,
26349
- width: "40%",
26350
- render: function (_, record) { return (React.createElement(React.Fragment, null, record.nationalPlanObj ? (React.createElement(antd.Space, { size: "middle" },
26351
- React.createElement("span", null, record.ministry))) : (React.createElement("input", { placeholder: "Please add the Ministry name", className: "ant-input", type: "text" })))); },
26392
+ width: 200,
26393
+ editable: false,
26394
+ render: function (_, record) { return (React.createElement(React.Fragment, null,
26395
+ React.createElement(antd.Select, { disabled: !(isSubNdcActionsEditable(record) && isEditing(record)), defaultValue: record.ministryName ? record.ministryName : loginMinistry, style: { width: 320 }, onChange: function (value, option) {
26396
+ record.ministryName = option.label;
26397
+ handleSave(record);
26398
+ }, options: ministryOrgList }))); },
26399
+ },
26400
+ {
26401
+ title: t("ndc:ndcColumnsStatus"),
26402
+ dataIndex: "status",
26403
+ key: "status",
26404
+ align: "left",
26405
+ width: "15%",
26406
+ editable: false,
26407
+ render: function (_, record) {
26408
+ var menu = actionMenu(record);
26409
+ return (React.createElement("div", { onClick: function (event) { return event.stopPropagation(); } },
26410
+ record.actionType === NdcDetailsActionType.SubAction &&
26411
+ record.status !== NdcDetailsActionStatus.New ? (React.createElement(antd.Tooltip, { title: record.status, color: TooltipColor, key: TooltipColor },
26412
+ React.createElement(antd.Tag, { className: "clickable", color: getNdcActionStatusTagType(record.status) }, addSpaces(record.status)))) : (""),
26413
+ record.actionType === NdcDetailsActionType.SubAction && menu ? (React.createElement(antd.Popover, { placement: "bottomRight", content: menu, trigger: "click" },
26414
+ React.createElement(icons.EllipsisOutlined, { rotate: 90, style: {
26415
+ fontWeight: 600,
26416
+ fontSize: "1rem",
26417
+ cursor: "pointer",
26418
+ } }))) : (React.createElement("span", null))));
26419
+ },
26352
26420
  },
26353
26421
  ];
26354
26422
  var columns = defaultColumns.map(function (col) {
26355
26423
  if (!col.editable) {
26356
26424
  return col;
26357
26425
  }
26358
- return __assign(__assign({}, col), { onCell: function (record) { return ({
26359
- record: record,
26360
- editable: col.editable,
26361
- dataIndex: col.dataIndex,
26362
- title: col.title,
26363
- handleSave: handleSave,
26364
- }); } });
26426
+ return __assign(__assign({}, col), { onCell: function (record) {
26427
+ return {
26428
+ record: record,
26429
+ editing: isEditing(record),
26430
+ dataIndex: col.dataIndex,
26431
+ title: col.title,
26432
+ onBlurHandler: function (record) {
26433
+ if (isEditing(record)) {
26434
+ handleSave(record);
26435
+ }
26436
+ },
26437
+ };
26438
+ } });
26365
26439
  });
26366
- function onAddNewNdcDetail() {
26367
- var range = selectedTab.split("-");
26368
- var ndcActionId = ++addedNdcDetailId.current;
26369
- var newData = {
26370
- key: ndcActionId,
26371
- type: NdcActionType.main,
26372
- startDate: new Date("".concat(Number(range[0]), "-01-24 23:12:00")),
26373
- endDate: new Date("".concat(Number(range[0]), "-12-24 23:12:00")),
26374
- nationalPlanObj: "",
26375
- kpi: "",
26376
- ministry: "",
26377
- subNdcDetails: [
26378
- {
26379
- key: ++addedNdcDetailId.current,
26380
- ndcActionId: ndcActionId,
26381
- type: NdcActionType.sub,
26382
- startDate: new Date("2019-03-25"),
26383
- endDate: new Date("2020-03-25"),
26384
- nationalPlanObj: "",
26385
- kpi: "",
26386
- ministry: "",
26387
- },
26388
- ],
26389
- };
26390
- setNdcDetailsData(__spreadArray(__spreadArray([], ndcDetailsData, true), [newData], false));
26440
+ function onClickedAddNewNdcDetail() {
26441
+ return __awaiter(this, void 0, void 0, function () {
26442
+ var periodId, newData_1;
26443
+ return __generator(this, function (_a) {
26444
+ if (selectedPeriod.key !== "add_new") {
26445
+ form.setFieldsValue({
26446
+ nationalPlanObjective: "",
26447
+ kpi: "",
26448
+ });
26449
+ periodId = parseInt(selectedPeriod.key);
26450
+ newData_1 = {
26451
+ id: nextAvailableActionId,
26452
+ actionType: NdcDetailsActionType.MainAction,
26453
+ nationalPlanObjective: "",
26454
+ kpi: "",
26455
+ ministryName: loginMinistry,
26456
+ periodId: periodId,
26457
+ status: NdcDetailsActionStatus.New,
26458
+ };
26459
+ setEditingKey(nextAvailableActionId);
26460
+ setNextAvailableActionId(function (value) { return value + 1; });
26461
+ setNdcActionsList(function (ndcActionsList) { return __spreadArray(__spreadArray([], ndcActionsList, true), [
26462
+ newData_1,
26463
+ ], false); });
26464
+ setTableKey(function (key) { return key + 1; });
26465
+ }
26466
+ return [2 /*return*/];
26467
+ });
26468
+ });
26391
26469
  }
26392
26470
  var components = {
26393
26471
  body: {
26394
- row: EditableRow,
26395
26472
  cell: EditableCell,
26396
26473
  },
26397
26474
  };
26398
- //commented because rendering issue
26399
- function ndcDetailsTableContent() {
26400
- return (React.createElement("div", null)
26401
- // <div>
26402
- // <Button
26403
- // onClick={onAddNewNdcDetail}
26404
- // type="primary"
26405
- // style={{
26406
- // marginBottom: 16,
26407
- // }}
26408
- // >
26409
- // Add a row
26410
- // </Button>
26411
- // <Table
26412
- // components={components}
26413
- // rowClassName={() => 'editable-row'}
26414
- // bordered
26415
- // dataSource={ndcDetailsData}
26416
- // columns={columns}
26417
- // />
26418
- // </div>
26419
- );
26420
- }
26421
- var onCancelPeriod = function () { };
26422
- var onAddNewPeriod = function () {
26423
- if (selectedPeriod && selectedPeriod.current) {
26424
- var newPeriodItem_1 = {
26425
- key: "".concat(selectedPeriod.current.start, "-").concat(selectedPeriod.current.end),
26426
- label: "".concat(selectedPeriod.current.start, "-").concat(selectedPeriod.current.end),
26427
- start: selectedPeriod.current.start,
26428
- end: selectedPeriod.current.end,
26429
- children: ndcDetailsTableContent(),
26430
- };
26431
- var existingIndex = periodItemsRef.current.findIndex(function (item) {
26432
- return inRange(newPeriodItem_1.start, item.start, item.end) ||
26433
- inRange(newPeriodItem_1.end, item.start, item.end);
26475
+ var onClickedDeletePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26476
+ return __generator(this, function (_a) {
26477
+ setActionInfo({
26478
+ action: "Delete",
26479
+ headerText: t("ndc:periodDeleteConfirmTitle"),
26480
+ type: "danger",
26481
+ icon: React.createElement(Icon__namespace.XCircle, null),
26482
+ recordId: selectedPeriod.key,
26434
26483
  });
26435
- if (existingIndex === -1) {
26436
- setPeriodItems(function (items) { return __spreadArray(__spreadArray([], items, true), [newPeriodItem_1], false); });
26437
- periodItemsRef.current = __spreadArray(__spreadArray([], periodItemsRef.current, true), [newPeriodItem_1], false);
26438
- }
26439
- else {
26484
+ setOpenConfirmationModal(true);
26485
+ return [2 /*return*/];
26486
+ });
26487
+ }); };
26488
+ var onClickedFinalizePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26489
+ var pendingActions;
26490
+ return __generator(this, function (_a) {
26491
+ pendingActions = subNdcActionsForPeriod.filter(function (action) {
26492
+ return action.status === NdcDetailsActionStatus.Pending;
26493
+ });
26494
+ if (pendingActions && pendingActions.length > 0) {
26440
26495
  antd.message.open({
26441
26496
  type: "error",
26442
- content: t("ndc:rangeAlreadyExists"),
26497
+ content: t("ndc:finalizeErrorText"),
26443
26498
  duration: 3,
26444
26499
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26445
26500
  });
26446
26501
  }
26502
+ else {
26503
+ setActionInfo({
26504
+ action: "Finalize",
26505
+ headerText: t("ndc:finalizeApproveTitle"),
26506
+ text: t("ndc:finalizeApproveSubTitle"),
26507
+ type: "primary",
26508
+ icon: React.createElement(Icon__namespace.Clipboard2Check, null),
26509
+ recordId: selectedPeriod.key,
26510
+ });
26511
+ setOpenConfirmationModal(true);
26512
+ }
26513
+ return [2 /*return*/];
26514
+ });
26515
+ }); };
26516
+ var onMainTableRowExpand = function (expanded, record) {
26517
+ var keys = [];
26518
+ if (expanded) {
26519
+ keys.push(record.id);
26447
26520
  }
26448
- };
26449
- React.useEffect(function () {
26450
- if (periodItems && periodItems.length > 3) {
26451
- setSelectedTab(periodItems[periodItems.length - 1].key);
26452
- }
26453
- }, [periodItems]);
26454
- var onDateRangeChanged = function (range) {
26455
- var period = {
26456
- start: Number(moment(range[0]).year()),
26457
- end: Number(moment(range[1]).year()),
26458
- };
26459
- selectedPeriod.current = period;
26521
+ setExpandedRowKeys(keys);
26522
+ setNdcSubActionsForMainAction(record.id);
26460
26523
  };
26461
26524
  function addNewPeriodContent() {
26462
26525
  return (React.createElement("div", null,
26463
- React.createElement(antd.Row, null,
26464
- React.createElement(RangePicker, { onChange: onDateRangeChanged, picker: "year" })),
26465
- React.createElement(antd.Row, { className: "mg-top-1" },
26466
- React.createElement("div", { className: "ndc-steps-actions" },
26467
- React.createElement(antd.Button, { type: "primary", onClick: onAddNewPeriod, htmlType: "submit", loading: loading }, t("ndc:submit")),
26468
- React.createElement(antd.Button, { className: "back-btn", onClick: onCancelPeriod, loading: loading }, t("ndc:back"))))));
26526
+ React.createElement(antd.Row, { justify: "start", align: "middle", gutter: [16, 16] },
26527
+ React.createElement(antd.Col, { flex: "340px" },
26528
+ React.createElement(RangePicker, { onChange: onDateRangeChanged, picker: "year" })),
26529
+ React.createElement(antd.Col, { flex: "auto" },
26530
+ React.createElement(antd.Button, { type: "primary", onClick: onAddNewPeriod, htmlType: "submit", loading: loading }, t("ndc:submit"))))));
26469
26531
  }
26470
- function getSubNdcActionContent(record) {
26471
- selectedNdcDetail.current = record;
26472
- return (React.createElement(antd.Table, { components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getSubNdcDetails(record.key), columns: columns, showHeader: false, pagination: false }));
26532
+ function mainNdcActionTableContent() {
26533
+ return (React.createElement("div", null,
26534
+ React.createElement(antd.Row, null,
26535
+ React.createElement(antd.Col, { span: 24 },
26536
+ React.createElement(antd.Form, { form: form, component: false },
26537
+ React.createElement(antd.Table, { key: tableKey, rowKey: "id", components: components, rowClassName: function () { return "editable-row"; }, bordered: true, loading: loading, dataSource: ndcMainDetailsForPeriod, columns: columns, expandedRowKeys: expandedRowKeys, onExpand: onMainTableRowExpand, expandable: {
26538
+ expandedRowRender: function (record) {
26539
+ return subNdcActionTableContent();
26540
+ },
26541
+ indentSize: 30,
26542
+ columnWidth: 30,
26543
+ }, onRow: function (record, rowIndex) {
26544
+ return {
26545
+ onClick: function (event) {
26546
+ if (record.id &&
26547
+ isNdcActionEditable(record) &&
26548
+ !isEditing(record)) {
26549
+ form.setFieldsValue(__assign({}, record));
26550
+ setEditingKey(record.id);
26551
+ }
26552
+ },
26553
+ onMouseLeave: function () {
26554
+ if (isEditing(record)) {
26555
+ handleSave(record);
26556
+ }
26557
+ },
26558
+ };
26559
+ }, footer: function () {
26560
+ return isGovernmentUser &&
26561
+ !selectedPeriod.finalized && (React.createElement(antd.Row, { justify: "center" },
26562
+ React.createElement(antd.Button, { onClick: onClickedAddNewNdcDetail, type: "default", style: {
26563
+ marginBottom: 16,
26564
+ width: "100%",
26565
+ } }, t("ndc:addNdcAction"))));
26566
+ } })))),
26567
+ isGovernmentUser && !selectedPeriod.finalized ? (React.createElement(antd.Row, { justify: "end" },
26568
+ React.createElement(antd.Button, { className: "mg-left-1", type: "primary", onClick: onClickedDeletePeriod, htmlType: "submit", loading: loading }, t("ndc:delete")),
26569
+ React.createElement(antd.Button, { className: "mg-left-1", type: "primary", onClick: onClickedFinalizePeriod, htmlType: "submit", loading: loading }, t("ndc:finalize")))) : ("")));
26570
+ }
26571
+ function subNdcActionTableContent(record) {
26572
+ return (React.createElement(antd.Table, { rowKey: "id", components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: subNdcActionsForPeriod, loading: loading, onRow: function (record, rowIndex) {
26573
+ return {
26574
+ onClick: function (event) {
26575
+ if (record.id &&
26576
+ isNdcActionEditable(record) &&
26577
+ !isEditing(record)) {
26578
+ form.setFieldsValue(__assign({}, record));
26579
+ setEditingKey(record.id);
26580
+ }
26581
+ },
26582
+ onMouseLeave: function () {
26583
+ if (isEditing(record)) {
26584
+ handleSave(record);
26585
+ }
26586
+ },
26587
+ };
26588
+ }, columns: columns, showHeader: false, pagination: false }));
26473
26589
  }
26590
+ var onAddNewPeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26591
+ var periodItem_1, existingIndex, response, addedPeriodItem, updatedPeriodItem_1;
26592
+ return __generator(this, function (_a) {
26593
+ switch (_a.label) {
26594
+ case 0:
26595
+ if (!(selectedDateRangeRef && selectedDateRangeRef.current)) return [3 /*break*/, 3];
26596
+ periodItem_1 = {
26597
+ startYear: selectedDateRangeRef.current.startYear,
26598
+ endYear: selectedDateRangeRef.current.endYear,
26599
+ finalized: false,
26600
+ };
26601
+ existingIndex = periodItems.findIndex(function (item) {
26602
+ return inRange(periodItem_1.startYear, item.startYear, item.endYear) ||
26603
+ inRange(periodItem_1.endYear, item.startYear, item.endYear);
26604
+ });
26605
+ if (!(existingIndex === -1)) return [3 /*break*/, 2];
26606
+ return [4 /*yield*/, post("national/programme/addNdcDetailsPeriod", __assign({}, periodItem_1))];
26607
+ case 1:
26608
+ response = _a.sent();
26609
+ if (response && response.data) {
26610
+ addedPeriodItem = response.data;
26611
+ updatedPeriodItem_1 = __assign(__assign({}, addedPeriodItem), { key: addedPeriodItem.id, label: "".concat(addedPeriodItem.startYear, "-").concat(addedPeriodItem.endYear) });
26612
+ setPeriodItems(function (items) { return __spreadArray(__spreadArray([], items, true), [updatedPeriodItem_1], false); });
26613
+ setSelectedPeriod(updatedPeriodItem_1);
26614
+ }
26615
+ return [3 /*break*/, 3];
26616
+ case 2:
26617
+ antd.message.open({
26618
+ type: "error",
26619
+ content: t("ndc:rangeAlreadyExists"),
26620
+ duration: 3,
26621
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26622
+ });
26623
+ _a.label = 3;
26624
+ case 3: return [2 /*return*/];
26625
+ }
26626
+ });
26627
+ }); };
26628
+ var onDateRangeChanged = function (range) {
26629
+ var period = {
26630
+ startYear: Number(moment(range[0]).year()),
26631
+ endYear: Number(moment(range[1]).year()),
26632
+ };
26633
+ selectedDateRangeRef.current = period;
26634
+ };
26474
26635
  var onTabChange = function (key) {
26475
- setSelectedTab(key);
26636
+ var selectedPeriod = periodItems.find(function (item) { return item.key === key; });
26637
+ if (selectedPeriod) {
26638
+ setSelectedPeriod(selectedPeriod);
26639
+ }
26640
+ };
26641
+ var onActionConfirmed = function () { return __awaiter(void 0, void 0, void 0, function () {
26642
+ var actionResponse;
26643
+ return __generator(this, function (_a) {
26644
+ switch (_a.label) {
26645
+ case 0:
26646
+ setLoading(true);
26647
+ if (!(actionInfo.action === "Approve")) return [3 /*break*/, 2];
26648
+ return [4 /*yield*/, post("national/programme/approveNdcDetailsAction", {
26649
+ id: actionInfo.recordId,
26650
+ })];
26651
+ case 1:
26652
+ actionResponse = _a.sent();
26653
+ return [3 /*break*/, 8];
26654
+ case 2:
26655
+ if (!(actionInfo.action === "Reject")) return [3 /*break*/, 4];
26656
+ return [4 /*yield*/, post("national/programme/rejectNdcDetailsAction", {
26657
+ id: actionInfo.recordId,
26658
+ })];
26659
+ case 3:
26660
+ actionResponse = _a.sent();
26661
+ return [3 /*break*/, 8];
26662
+ case 4:
26663
+ if (!(actionInfo.action === "Finalize")) return [3 /*break*/, 6];
26664
+ return [4 /*yield*/, post("national/programme/finalizeNdcDetailsPeriod", {
26665
+ id: selectedPeriod.key,
26666
+ })];
26667
+ case 5:
26668
+ actionResponse = _a.sent();
26669
+ return [3 /*break*/, 8];
26670
+ case 6:
26671
+ if (!(actionInfo.action === "Delete")) return [3 /*break*/, 8];
26672
+ return [4 /*yield*/, post("national/programme/deleteNdcDetailsPeriod", {
26673
+ id: selectedPeriod.key,
26674
+ })];
26675
+ case 7:
26676
+ actionResponse = _a.sent();
26677
+ _a.label = 8;
26678
+ case 8:
26679
+ if (actionResponse &&
26680
+ (actionInfo.action === "Delete" || actionInfo.action === "Finalize")) {
26681
+ fetchNdcDetailPeriods();
26682
+ }
26683
+ else if (actionResponse &&
26684
+ (actionInfo.action === "Approve" || actionInfo.action === "Reject")) {
26685
+ fetchNdcDetailActions();
26686
+ }
26687
+ setOpenConfirmationModal(false);
26688
+ setLoading(false);
26689
+ return [2 /*return*/];
26690
+ }
26691
+ });
26692
+ }); };
26693
+ var onActionCanceled = function () {
26694
+ setOpenConfirmationModal(false);
26476
26695
  };
26696
+ var fetchNdcDetailPeriods = function () { return __awaiter(void 0, void 0, void 0, function () {
26697
+ var periods, addNewTab, response;
26698
+ return __generator(this, function (_a) {
26699
+ switch (_a.label) {
26700
+ case 0:
26701
+ setLoading(true);
26702
+ periods = [];
26703
+ addNewTab = {
26704
+ key: "add_new",
26705
+ label: "Add New",
26706
+ startYear: 0,
26707
+ endYear: 0,
26708
+ finalized: false,
26709
+ deleted: false,
26710
+ };
26711
+ return [4 /*yield*/, get("national/programme/queryNdcDetailsPeriod")];
26712
+ case 1:
26713
+ response = _a.sent();
26714
+ if (response && response.data) {
26715
+ periods = response.data.map(function (period) {
26716
+ return __assign(__assign({}, period), { key: period.id, label: period.finalized ? (React.createElement("span", null,
26717
+ React.createElement(icons.LockOutlined, null),
26718
+ " ",
26719
+ period.startYear,
26720
+ "-",
26721
+ period.endYear,
26722
+ " ")) : ("".concat(period.startYear, "-").concat(period.endYear)) });
26723
+ });
26724
+ }
26725
+ if (isGovernmentUser) {
26726
+ periods.unshift(addNewTab);
26727
+ }
26728
+ setPeriodItems(periods);
26729
+ if (isGovernmentUser) {
26730
+ setSelectedPeriod(addNewTab);
26731
+ }
26732
+ else {
26733
+ setSelectedPeriod(periods[0]);
26734
+ }
26735
+ setLoading(false);
26736
+ return [2 /*return*/];
26737
+ }
26738
+ });
26739
+ }); };
26740
+ var fetchNdcDetailActions = function () { return __awaiter(void 0, void 0, void 0, function () {
26741
+ var response, maxActionId;
26742
+ return __generator(this, function (_a) {
26743
+ switch (_a.label) {
26744
+ case 0:
26745
+ setLoading(true);
26746
+ return [4 /*yield*/, get("national/programme/queryNdcDetailsAction")];
26747
+ case 1:
26748
+ response = _a.sent();
26749
+ if (response && response.data) {
26750
+ maxActionId = Math.max.apply(Math, response.data.map(function (item) { return item.id; }));
26751
+ setNextAvailableActionId(maxActionId + 1);
26752
+ setNdcActionsList(response.data);
26753
+ }
26754
+ setLoading(false);
26755
+ return [2 /*return*/];
26756
+ }
26757
+ });
26758
+ }); };
26759
+ var fetchMinistries = function () { return __awaiter(void 0, void 0, void 0, function () {
26760
+ var response, ministryOrgDetails;
26761
+ return __generator(this, function (_a) {
26762
+ switch (_a.label) {
26763
+ case 0:
26764
+ setLoading(true);
26765
+ return [4 /*yield*/, get("national/organisation/getMinistries")];
26766
+ case 1:
26767
+ response = _a.sent();
26768
+ if (response && response.data) {
26769
+ ministryOrgDetails = response.data.map(function (value) {
26770
+ return {
26771
+ value: value.company_companyId,
26772
+ label: value.company_name,
26773
+ };
26774
+ });
26775
+ setMinistryOrgList(ministryOrgDetails);
26776
+ }
26777
+ setLoading(false);
26778
+ return [2 /*return*/];
26779
+ }
26780
+ });
26781
+ }); };
26477
26782
  React.useEffect(function () {
26478
- var defaultNdcDetails = [
26479
- {
26480
- key: 1,
26481
- type: NdcActionType.main,
26482
- startDate: new Date("2019-03-25"),
26483
- endDate: new Date("2020-03-25"),
26484
- nationalPlanObj: "Enhance value addition in key growth opportunities",
26485
- kpi: 25,
26486
- ministry: "Ministry of Environment",
26487
- subNdcDetails: [
26488
- {
26489
- key: 6,
26490
- ndcActionId: 1,
26491
- type: NdcActionType.sub,
26492
- startDate: new Date("2019-03-25"),
26493
- endDate: new Date("2020-03-25"),
26494
- nationalPlanObj: "Enhance value addition in key growth opportunities sub details",
26495
- kpi: 25,
26496
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
26497
- },
26498
- {
26499
- key: 7,
26500
- ndcActionId: 1,
26501
- type: NdcActionType.sub,
26502
- startDate: new Date("2019-03-25"),
26503
- endDate: new Date("2020-03-25"),
26504
- nationalPlanObj: "",
26505
- kpi: "",
26506
- ministry: "",
26507
- },
26508
- ],
26509
- },
26510
- {
26511
- key: 2,
26512
- type: NdcActionType.main,
26513
- startDate: new Date("2019-03-25"),
26514
- endDate: new Date("2019-08-25"),
26515
- nationalPlanObj: "Strengthen the private sector to create 10,000 jobs",
26516
- kpi: 10500,
26517
- ministry: "Ministry of Environment",
26518
- subNdcDetails: [
26519
- {
26520
- key: 8,
26521
- ndcActionId: 2,
26522
- type: NdcActionType.sub,
26523
- startDate: new Date("2019-03-25"),
26524
- endDate: new Date("2020-03-25"),
26525
- nationalPlanObj: "",
26526
- kpi: "",
26527
- ministry: "",
26528
- },
26529
- ],
26530
- },
26531
- {
26532
- key: 12,
26533
- type: NdcActionType.main,
26534
- startDate: new Date("2019-03-25"),
26535
- endDate: new Date("2019-08-25"),
26536
- nationalPlanObj: "Other",
26537
- kpi: 10500,
26538
- ministry: "Ministry of Environment",
26539
- subNdcDetails: [
26540
- {
26541
- key: 8,
26542
- ndcActionId: 12,
26543
- type: NdcActionType.sub,
26544
- startDate: new Date("2019-03-25"),
26545
- endDate: new Date("2020-03-25"),
26546
- nationalPlanObj: "",
26547
- kpi: "",
26548
- ministry: "",
26549
- },
26550
- ],
26551
- },
26552
- {
26553
- key: 3,
26554
- type: NdcActionType.main,
26555
- startDate: new Date("2021-03-25"),
26556
- endDate: new Date("2022-03-25"),
26557
- nationalPlanObj: "Consolidate and increase the stock and quality of productive infrastructure by 50%",
26558
- kpi: 48,
26559
- ministry: "Ministry of Environment",
26560
- subNdcDetails: [
26561
- {
26562
- key: 9,
26563
- ndcActionId: 3,
26564
- type: NdcActionType.sub,
26565
- startDate: new Date("2019-03-25"),
26566
- endDate: new Date("2020-03-25"),
26567
- nationalPlanObj: "",
26568
- kpi: "",
26569
- ministry: "",
26570
- },
26571
- ],
26572
- },
26573
- {
26574
- key: 4,
26575
- type: NdcActionType.main,
26576
- startDate: new Date("2022-03-25"),
26577
- endDate: new Date("2022-05-25"),
26578
- nationalPlanObj: "Enhance the productivity and social wellbeing of the population",
26579
- kpi: 20,
26580
- ministry: "Ministry of Environment",
26581
- subNdcDetails: [
26582
- {
26583
- key: 10,
26584
- ndcActionId: 4,
26585
- type: NdcActionType.sub,
26586
- startDate: new Date("2019-03-25"),
26587
- endDate: new Date("2020-03-25"),
26588
- nationalPlanObj: "",
26589
- kpi: "",
26590
- ministry: "",
26591
- },
26592
- ],
26593
- },
26594
- {
26595
- key: 5,
26596
- type: NdcActionType.main,
26597
- startDate: new Date("2022-03-25"),
26598
- endDate: new Date("2023-03-25"),
26599
- nationalPlanObj: "Strengthen the role of the state in guiding and facilitating development",
26600
- kpi: 10,
26601
- ministry: "Ministry of Environment",
26602
- subNdcDetails: [
26603
- {
26604
- key: 11,
26605
- ndcActionId: 5,
26606
- type: NdcActionType.sub,
26607
- startDate: new Date("2019-03-25"),
26608
- endDate: new Date("2020-03-25"),
26609
- nationalPlanObj: "",
26610
- kpi: "",
26611
- ministry: "",
26612
- },
26613
- ],
26614
- },
26615
- {
26616
- key: 13,
26617
- type: NdcActionType.main,
26618
- startDate: new Date("2022-03-25"),
26619
- endDate: new Date("2023-03-25"),
26620
- nationalPlanObj: "Convert to solar energy",
26621
- kpi: 50000,
26622
- ministry: "Ministry of Environment",
26623
- subNdcDetails: [
26624
- {
26625
- key: 11,
26626
- ndcActionId: 13,
26627
- type: NdcActionType.sub,
26628
- startDate: new Date("2019-03-25"),
26629
- endDate: new Date("2020-03-25"),
26630
- nationalPlanObj: "Convert to solar energy",
26631
- kpi: "3000",
26632
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
26633
- },
26634
- {
26635
- key: 14,
26636
- ndcActionId: 13,
26637
- type: NdcActionType.sub,
26638
- startDate: new Date("2019-03-25"),
26639
- endDate: new Date("2020-03-25"),
26640
- nationalPlanObj: "",
26641
- kpi: "",
26642
- ministry: "",
26643
- },
26644
- ],
26645
- },
26646
- {
26647
- key: 15,
26648
- type: NdcActionType.main,
26649
- startDate: new Date("2022-03-25"),
26650
- endDate: new Date("2023-03-25"),
26651
- nationalPlanObj: "Strengthen the private sector to create jobs",
26652
- kpi: 10000,
26653
- ministry: "Ministry of Environment",
26654
- subNdcDetails: [
26655
- {
26656
- key: 16,
26657
- ndcActionId: 15,
26658
- type: NdcActionType.sub,
26659
- startDate: new Date("2019-03-25"),
26660
- endDate: new Date("2020-03-25"),
26661
- nationalPlanObj: "Strengthen the private sector to create jobs",
26662
- kpi: "7200",
26663
- ministry: "Ministry of Tourism (MoT)",
26664
- },
26665
- {
26666
- key: 17,
26667
- ndcActionId: 15,
26668
- type: NdcActionType.sub,
26669
- startDate: new Date("2019-03-25"),
26670
- endDate: new Date("2020-03-25"),
26671
- nationalPlanObj: "",
26672
- kpi: "",
26673
- ministry: "",
26674
- },
26675
- ],
26676
- },
26677
- {
26678
- key: 18,
26679
- type: NdcActionType.main,
26680
- startDate: new Date("2022-03-25"),
26681
- endDate: new Date("2023-03-25"),
26682
- nationalPlanObj: "Other",
26683
- kpi: '',
26684
- ministry: "Ministry of Environment",
26685
- subNdcDetails: [
26686
- {
26687
- key: 19,
26688
- ndcActionId: 18,
26689
- type: NdcActionType.sub,
26690
- startDate: new Date("2019-03-25"),
26691
- endDate: new Date("2020-03-25"),
26692
- nationalPlanObj: "Strengthen the private sector to create jobs",
26693
- kpi: "",
26694
- ministry: "Ministry of Agriculture, Water and Forestry (MAWF)",
26695
- },
26696
- {
26697
- key: 20,
26698
- ndcActionId: 18,
26699
- type: NdcActionType.sub,
26700
- startDate: new Date("2019-03-25"),
26701
- endDate: new Date("2020-03-25"),
26702
- nationalPlanObj: "",
26703
- kpi: "",
26704
- ministry: "",
26705
- },
26706
- ],
26707
- },
26708
- ];
26709
- var initialPeriods = [
26710
- {
26711
- key: "2019-2020",
26712
- label: "2019-2020",
26713
- start: 2019,
26714
- end: 2020,
26715
- children: ndcDetailsTableContent(),
26716
- },
26717
- {
26718
- key: "2021-2023",
26719
- label: "2021-2023",
26720
- start: 2021,
26721
- end: 2021,
26722
- children: ndcDetailsTableContent(),
26723
- },
26724
- ];
26725
- if (isAddRangeVisible()) {
26726
- initialPeriods.unshift({
26727
- key: "add_new",
26728
- label: "Add New",
26729
- start: 0,
26730
- end: 0,
26731
- children: addNewPeriodContent(),
26732
- });
26733
- }
26734
- addedNdcDetailId.current = 20;
26735
- setPeriodItems(initialPeriods);
26736
- periodItemsRef.current = initialPeriods;
26737
- setNdcDetailsData(defaultNdcDetails);
26783
+ fetchNdcDetailPeriods();
26784
+ fetchNdcDetailActions();
26785
+ fetchMinistries();
26738
26786
  }, []);
26739
- return (React.createElement("div", { className: "ndc-management content-container" },
26787
+ return (React.createElement("div", { className: "ndc-details content-container" },
26740
26788
  React.createElement("div", { className: "title-bar" },
26741
26789
  React.createElement(antd.Row, { justify: "space-between", align: "middle" },
26742
26790
  React.createElement(antd.Col, { span: 20 },
26743
26791
  React.createElement("div", { className: "body-title" }, t("ndc:ndcTitle")),
26744
26792
  React.createElement("div", { className: "body-sub-title" }, t("ndc:ndcSubTitle"))))),
26745
26793
  React.createElement("div", null,
26746
- React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedTab, onChange: onTabChange })),
26747
- selectedTab !== "add_new" && (React.createElement("div", null,
26748
- React.createElement("div", null,
26749
- React.createElement(antd.Table, { key: tableKey, components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getNdcDetailsForPeriod(), columns: columns, expandable: {
26750
- expandedRowRender: function (record) { return getSubNdcActionContent(record); },
26751
- indentSize: 0,
26752
- defaultExpandedRowKeys: [selectedNdcDetail.current.key],
26753
- }, footer: function () {
26754
- return isAddNdcActionVisible() && (React.createElement(antd.Row, { justify: "center" },
26755
- React.createElement(antd.Button, { onClick: onAddNewNdcDetail, type: "default", style: {
26756
- marginBottom: 16,
26757
- width: "100%",
26758
- } }, t("ndc:addNdcAction"))));
26759
- } }))))));
26794
+ React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedPeriod.key, onChange: onTabChange })),
26795
+ React.createElement("div", null, selectedPeriod.key === "add_new"
26796
+ ? addNewPeriodContent()
26797
+ : mainNdcActionTableContent()),
26798
+ React.createElement(UserActionConfirmationModel, { t: t, actionInfo: actionInfo, onActionConfirmed: onActionConfirmed, onActionCanceled: onActionCanceled, openModal: openConfirmationModal, errorMsg: "", loading: loading })));
26760
26799
  };
26761
26800
 
26762
26801
  var ImgWithFallback = function (_a) {
@@ -28441,7 +28480,7 @@ exports.getCreditStageVal = getCreditStageVal;
28441
28480
  exports.getFinancialFields = getFinancialFields;
28442
28481
  exports.getGeneralFields = getGeneralFields;
28443
28482
  exports.getInvestmentStatusEnumVal = getInvestmentStatusEnumVal;
28444
- exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal;
28483
+ exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal$1;
28445
28484
  exports.getNdcStatusTagType = getNdcStatusTagType;
28446
28485
  exports.getRetirementTypeString = getRetirementTypeString;
28447
28486
  exports.getStageEnumVal = getStageEnumVal;