@undp/carbon-library 1.0.175-CARBON-363.74 → 1.0.175-CARBON-347.3

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$1 = function (value) {
2050
+ var getNdcActionStatusEnumVal = 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$1 = function (value) {
2055
2055
  return Object.values(exports.NdcActionStatus)[index];
2056
2056
  };
2057
2057
  var getNdcStatusTagType = function (status) {
2058
- switch (getNdcActionStatusEnumVal$1(status)) {
2058
+ switch (getNdcActionStatusEnumVal(status)) {
2059
2059
  case exports.NdcActionStatus.PENDING:
2060
2060
  return "processing";
2061
2061
  case exports.NdcActionStatus.APPROVED:
@@ -26143,785 +26143,620 @@ var RegistryDashboardComponent = function (props) {
26143
26143
  lastUpdateTransferLocations))))))))) : ("")));
26144
26144
  };
26145
26145
 
26146
- React.createContext(null);
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
+ };
26147
26154
  var EditableCell = function (_a) {
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, t = _a.t, restProps = __rest(_a, ["editing", "dataIndex", "title", "inputType", "record", "index", "children", "onBlurHandler", "t"]);
26149
- var inputNode;
26150
- if (dataIndex === "nationalPlanObjective") {
26151
- inputNode = (React.createElement(antd.Input, { onBlur: function () { return onBlurHandler(record); }, placeholder: t("ndc:nationalPlanObjectivePlaceHolder") }));
26152
- }
26153
- else if (dataIndex === "kpi") {
26154
- inputNode = (React.createElement(antd.InputNumber, { onBlur: function () { return onBlurHandler(record); }, placeholder: t("ndc:kpiPlaceHolder") }));
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));
26155
26198
  }
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: "".concat(title, " ").concat(t("ndc:isRequired")),
26160
- },
26161
- ] }, inputNode)) : (children)));
26199
+ return React.createElement("td", __assign({}, restProps), childNode);
26162
26200
  };
26163
26201
 
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-input-number-input-wrap {\n margin-right: 10px; }\n";
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";
26165
26203
  styleInject(css_248z$4);
26166
26204
 
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
-
26205
+ var NdcActionType;
26206
+ (function (NdcActionType) {
26207
+ NdcActionType[NdcActionType["main"] = 0] = "main";
26208
+ NdcActionType[NdcActionType["sub"] = 1] = "sub";
26209
+ })(NdcActionType || (NdcActionType = {}));
26199
26210
  var NdcDetailsComponent = function (props) {
26200
- var t = props.t, useConnection = props.useConnection, useUserContext = props.useUserContext;
26211
+ var t = props.t; props.useConnection; var useUserContext = props.useUserContext;
26201
26212
  var RangePicker = antd.DatePicker.RangePicker;
26202
- var _a = React.useState([]), ndcActionsList = _a[0], setNdcActionsList = _a[1];
26203
- var _b = React.useState(false), loading = _b[0], setLoading = _b[1];
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([]);
26204
26216
  var _c = React.useState([]), periodItems = _c[0], setPeriodItems = _c[1];
26205
- var _d = React.useState({}), selectedPeriod = _d[0], setSelectedPeriod = _d[1];
26206
- var selectedDateRangeRef = React.useRef({});
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({});
26207
26221
  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; };
26218
26222
  var userInfoState = useUserContext().userInfoState;
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
- : "Ministry Of Environment"
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)) &&
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) &&
26243
26226
  (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
26244
26227
  };
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);
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);
26283
26231
  };
26284
26232
  var inRange = function (num, min, max) {
26285
26233
  return num >= min && num <= max;
26286
26234
  };
26287
- var handleSave = function (row) { return __awaiter(void 0, void 0, void 0, function () {
26288
- var updatedFields, updatedItem, exception_2;
26289
- return __generator(this, function (_a) {
26290
- switch (_a.label) {
26291
- case 0:
26292
- _a.trys.push([0, 9, , 10]);
26293
- updatedFields = void 0;
26294
- _a.label = 1;
26295
- case 1:
26296
- _a.trys.push([1, 3, , 4]);
26297
- return [4 /*yield*/, form.validateFields()];
26298
- case 2:
26299
- updatedFields = (_a.sent());
26300
- return [3 /*break*/, 4];
26301
- case 3:
26302
- _a.sent();
26303
- return [2 /*return*/];
26304
- case 4:
26305
- updatedItem = __assign(__assign({}, row), updatedFields);
26306
- if (!(updatedItem.status === NdcDetailsActionStatus.New)) return [3 /*break*/, 6];
26307
- if (isGovernmentUser &&
26308
- updatedItem.actionType === NdcDetailsActionType.SubAction) {
26309
- updatedItem.status = NdcDetailsActionStatus.Approved;
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
+ }
26310
26280
  }
26311
26281
  else {
26312
- updatedItem.status = NdcDetailsActionStatus.Pending;
26282
+ parentItem.subNdcDetails = [row];
26313
26283
  }
26314
- return [4 /*yield*/, post("national/programme/addNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26315
- case 5:
26316
- _a.sent();
26317
- return [3 /*break*/, 8];
26318
- case 6:
26319
- updatedItem.status = NdcDetailsActionStatus.Pending;
26320
- return [4 /*yield*/, put("national/programme/updateNdcDetailsAction", __assign(__assign({}, updatedItem), { kpi: parseInt(updatedItem.kpi.toString()) }))];
26321
- case 7:
26322
- _a.sent();
26323
- _a.label = 8;
26324
- case 8:
26325
- fetchNdcDetailActions();
26326
- setEditingKey(-1);
26327
- return [3 /*break*/, 10];
26328
- case 9:
26329
- exception_2 = _a.sent();
26330
- setEditingKey(-1);
26331
- antd.message.open({
26332
- type: "error",
26333
- content: exception_2.message,
26334
- duration: 3,
26335
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26336
- });
26337
- return [3 /*break*/, 10];
26338
- case 10: return [2 /*return*/];
26284
+ }
26285
+ newData[parentIndex] = __assign({}, parentItem);
26286
+ setTableKey(function (key) { return key + 1; });
26339
26287
  }
26288
+ return newData;
26340
26289
  });
26341
- }); };
26342
- var actionMenu = function (record) {
26343
- if (record.status === NdcDetailsActionStatus.Pending &&
26344
- isGovernmentUser &&
26345
- !selectedPeriod.finalized) {
26346
- return (React.createElement(antd.List, { className: "action-menu", size: "small", dataSource: [
26347
- {
26348
- text: t("ndc:approve"),
26349
- icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26350
- click: function () {
26351
- setActionInfo({
26352
- action: "Approve",
26353
- headerText: t("ndc:actionApproveTitle"),
26354
- type: "primary",
26355
- icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26356
- recordId: record.id,
26357
- });
26358
- setOpenConfirmationModal(true);
26359
- },
26360
- },
26361
- {
26362
- text: t("ndc:reject"),
26363
- icon: React.createElement(Icon__namespace.XOctagon, null),
26364
- click: function () {
26365
- setActionInfo({
26366
- action: "Reject",
26367
- headerText: t("ndc:rejectApproveTitle"),
26368
- type: "danger",
26369
- icon: React.createElement(Icon__namespace.BoxArrowInDown, null),
26370
- recordId: record.id,
26371
- });
26372
- setOpenConfirmationModal(true);
26373
- },
26374
- },
26375
- ], renderItem: function (item) { return (React.createElement(antd.List.Item, { onClick: item.click },
26376
- React.createElement(antd.Typography.Text, { className: "action-icon color-error" }, item.icon),
26377
- React.createElement("span", null, item.text))); } }));
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;
26378
26317
  }
26379
26318
  else {
26380
- return null;
26319
+ return [];
26381
26320
  }
26382
26321
  };
26383
26322
  var defaultColumns = [
26384
26323
  {
26385
26324
  title: t("ndc:ndcColumnsNationalPlanObj"),
26386
- dataIndex: "nationalPlanObjective",
26387
- key: "nationalPlanObjective",
26325
+ dataIndex: "nationalPlanObj",
26326
+ key: "nationalPlanObj",
26388
26327
  align: "left",
26389
- width: 400,
26390
26328
  editable: true,
26391
- 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" })))); },
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" })))); },
26392
26332
  },
26393
26333
  {
26394
26334
  title: t("ndc:ndcColumnsKpi"),
26395
26335
  dataIndex: "kpi",
26396
26336
  key: "kpi",
26397
26337
  align: "left",
26398
- width: 100,
26399
26338
  editable: true,
26400
- 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" })))); },
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" })))); },
26401
26342
  },
26402
26343
  {
26403
- title: t("ndc:ndcColumnsMinistry"),
26404
- dataIndex: "ministryName",
26405
- key: "ministryName",
26344
+ title: "Ministry",
26345
+ dataIndex: "ministry",
26346
+ key: "ministry",
26406
26347
  align: "left",
26407
- width: 300,
26408
- editable: false,
26409
- render: function (_, record) { return (React.createElement(React.Fragment, null,
26410
- React.createElement(antd.Select, { disabled: !(isSubNdcActionsEditable(record) && isEditing(record)), defaultValue: record.ministryName ? record.ministryName : loginMinistry, style: { width: 220 }, onChange: function (value, option) {
26411
- record.ministryName = option.label;
26412
- handleSave(record);
26413
- }, options: ministryOrgList }))); },
26414
- },
26415
- {
26416
- title: t("ndc:ndcColumnsStatus"),
26417
- dataIndex: "status",
26418
- key: "status",
26419
- align: "left",
26420
- width: 200,
26421
- editable: false,
26422
- render: function (_, record) {
26423
- var menu = actionMenu(record);
26424
- return (React.createElement("div", { onClick: function (event) { return event.stopPropagation(); } },
26425
- record.actionType === NdcDetailsActionType.SubAction &&
26426
- record.status !== NdcDetailsActionStatus.New ? (React.createElement(antd.Tooltip, { title: record.status, color: TooltipColor, key: TooltipColor },
26427
- React.createElement(antd.Tag, { className: "clickable", color: getNdcActionStatusTagType(record.status) }, addSpaces(record.status)))) : (""),
26428
- record.actionType === NdcDetailsActionType.SubAction && menu ? (React.createElement(antd.Popover, { placement: "bottomRight", content: menu, trigger: "click" },
26429
- React.createElement(icons.EllipsisOutlined, { rotate: 90, style: {
26430
- fontWeight: 600,
26431
- fontSize: "1rem",
26432
- cursor: "pointer",
26433
- } }))) : (React.createElement("span", null))));
26434
- },
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" })))); },
26435
26352
  },
26436
26353
  ];
26437
26354
  var columns = defaultColumns.map(function (col) {
26438
26355
  if (!col.editable) {
26439
26356
  return col;
26440
26357
  }
26441
- return __assign(__assign({}, col), { onCell: function (record) {
26442
- return {
26443
- record: record,
26444
- editing: isEditing(record),
26445
- dataIndex: col.dataIndex,
26446
- title: col.title,
26447
- onBlurHandler: function (record) {
26448
- if (isEditing(record)) {
26449
- handleSave(record);
26450
- }
26451
- },
26452
- t: t,
26453
- };
26454
- } });
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
+ }); } });
26455
26365
  });
26456
- function onClickedAddNewNdcDetail() {
26457
- return __awaiter(this, void 0, void 0, function () {
26458
- var periodId, newData_1;
26459
- return __generator(this, function (_a) {
26460
- if (selectedPeriod.key !== "add_new") {
26461
- form.setFieldsValue({
26462
- nationalPlanObjective: "",
26463
- kpi: "",
26464
- });
26465
- periodId = parseInt(selectedPeriod.key);
26466
- newData_1 = {
26467
- id: nextAvailableActionId,
26468
- actionType: NdcDetailsActionType.MainAction,
26469
- nationalPlanObjective: "",
26470
- kpi: "",
26471
- ministryName: loginMinistry,
26472
- periodId: periodId,
26473
- status: NdcDetailsActionStatus.New,
26474
- };
26475
- setEditingKey(nextAvailableActionId);
26476
- setNextAvailableActionId(function (value) { return value + 1; });
26477
- setNdcActionsList(function (ndcActionsList) { return __spreadArray(__spreadArray([], ndcActionsList, true), [
26478
- newData_1,
26479
- ], false); });
26480
- setTableKey(function (key) { return key + 1; });
26481
- }
26482
- return [2 /*return*/];
26483
- });
26484
- });
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));
26485
26391
  }
26486
26392
  var components = {
26487
26393
  body: {
26394
+ row: EditableRow,
26488
26395
  cell: EditableCell,
26489
26396
  },
26490
26397
  };
26491
- var onClickedDeletePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26492
- return __generator(this, function (_a) {
26493
- setActionInfo({
26494
- action: "Delete",
26495
- headerText: t("ndc:periodDeleteConfirmTitle"),
26496
- type: "danger",
26497
- icon: React.createElement(Icon__namespace.XCircle, null),
26498
- recordId: selectedPeriod.key,
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);
26499
26434
  });
26500
- setOpenConfirmationModal(true);
26501
- return [2 /*return*/];
26502
- });
26503
- }); };
26504
- var onClickedFinalizePeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26505
- var pendingActions;
26506
- return __generator(this, function (_a) {
26507
- if (subNdcActionsForPeriod.length === 0) {
26508
- antd.message.open({
26509
- type: "error",
26510
- content: t("ndc:finalizeNdcEmptyErrorText"),
26511
- duration: 3,
26512
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26513
- });
26514
- return [2 /*return*/];
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);
26515
26438
  }
26516
- pendingActions = subNdcActionsForPeriod.filter(function (action) {
26517
- return action.status === NdcDetailsActionStatus.Pending;
26518
- });
26519
- if (pendingActions && pendingActions.length > 0) {
26439
+ else {
26520
26440
  antd.message.open({
26521
26441
  type: "error",
26522
- content: t("ndc:finalizeErrorText"),
26442
+ content: t("ndc:rangeAlreadyExists"),
26523
26443
  duration: 3,
26524
26444
  style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26525
26445
  });
26526
26446
  }
26527
- else {
26528
- setActionInfo({
26529
- action: "Finalize",
26530
- headerText: t("ndc:finalizeApproveTitle"),
26531
- text: t("ndc:finalizeApproveSubTitle"),
26532
- type: "primary",
26533
- icon: React.createElement(Icon__namespace.Clipboard2Check, null),
26534
- recordId: selectedPeriod.key,
26535
- });
26536
- setOpenConfirmationModal(true);
26537
- }
26538
- return [2 /*return*/];
26539
- });
26540
- }); };
26541
- var onMainTableRowExpand = function (expanded, record) {
26542
- var keys = [];
26543
- if (expanded) {
26544
- keys.push(record.id);
26545
26447
  }
26546
- setExpandedRowKeys(keys);
26547
- setNdcSubActionsForMainAction(record.id);
26548
26448
  };
26549
- function addNewPeriodContent() {
26550
- return (React.createElement("div", null,
26551
- React.createElement(antd.Row, { justify: "start", align: "middle", gutter: [16, 16] },
26552
- React.createElement(antd.Col, { flex: "340px" },
26553
- React.createElement(RangePicker, { onChange: onDateRangeChanged, picker: "year" })),
26554
- React.createElement(antd.Col, { flex: "auto" },
26555
- React.createElement(antd.Button, { type: "primary", onClick: onAddNewPeriod, htmlType: "submit", loading: loading }, t("ndc:submit"))))));
26556
- }
26557
- function mainNdcActionTableContent() {
26558
- return (React.createElement("div", null,
26559
- React.createElement(antd.Row, null,
26560
- React.createElement(antd.Col, { span: 24 },
26561
- React.createElement(antd.Form, { form: form, component: false },
26562
- React.createElement(antd.Table, { tableLayout: "fixed", key: tableKey, rowKey: "id", components: components, rowClassName: function () { return "editable-row"; }, bordered: true, loading: loading, dataSource: ndcMainDetailsForPeriod, columns: columns, expandedRowKeys: expandedRowKeys, onExpand: onMainTableRowExpand, expandable: {
26563
- expandedRowRender: function (record) {
26564
- return subNdcActionTableContent();
26565
- },
26566
- columnWidth: 40,
26567
- }, onRow: function (record, rowIndex) {
26568
- return {
26569
- onClick: function (event) {
26570
- if (record.id &&
26571
- isNdcActionEditable(record) &&
26572
- !isEditing(record)) {
26573
- form.setFieldsValue(__assign({}, record));
26574
- setEditingKey(record.id);
26575
- }
26576
- },
26577
- onMouseLeave: function () {
26578
- if (isEditing(record)) {
26579
- handleSave(record);
26580
- }
26581
- },
26582
- };
26583
- }, footer: function () {
26584
- return isGovernmentUser &&
26585
- !selectedPeriod.finalized && (React.createElement(antd.Row, { justify: "center" },
26586
- React.createElement(antd.Button, { onClick: onClickedAddNewNdcDetail, type: "default", style: {
26587
- marginBottom: 16,
26588
- width: "100%",
26589
- } }, t("ndc:addNdcAction"))));
26590
- } })))),
26591
- isGovernmentUser && !selectedPeriod.finalized ? (React.createElement(antd.Row, { justify: "end" },
26592
- React.createElement(antd.Button, { className: "mg-left-1", type: "primary", onClick: onClickedDeletePeriod, htmlType: "submit", loading: loading }, t("ndc:delete")),
26593
- React.createElement(antd.Button, { className: "mg-left-1", type: "primary", onClick: onClickedFinalizePeriod, htmlType: "submit", loading: loading }, t("ndc:finalize")))) : ("")));
26594
- }
26595
- function subNdcActionTableContent(record) {
26596
- return (React.createElement(antd.Table, { tableLayout: "fixed", rowKey: "id", components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: subNdcActionsForPeriod, loading: loading, onRow: function (record, rowIndex) {
26597
- return {
26598
- onClick: function (event) {
26599
- if (record.id &&
26600
- isNdcActionEditable(record) &&
26601
- !isEditing(record)) {
26602
- form.setFieldsValue(__assign({}, record));
26603
- setEditingKey(record.id);
26604
- }
26605
- },
26606
- onMouseLeave: function () {
26607
- if (isEditing(record)) {
26608
- handleSave(record);
26609
- }
26610
- },
26611
- };
26612
- }, columns: columns, showHeader: false, pagination: false }));
26613
- }
26614
- var onAddNewPeriod = function () { return __awaiter(void 0, void 0, void 0, function () {
26615
- var periodItem_1, existingIndex, response, addedPeriodItem, updatedPeriodItem_1, exception_3;
26616
- return __generator(this, function (_a) {
26617
- switch (_a.label) {
26618
- case 0:
26619
- _a.trys.push([0, 4, , 5]);
26620
- if (!(selectedDateRangeRef && selectedDateRangeRef.current)) return [3 /*break*/, 3];
26621
- periodItem_1 = {
26622
- startYear: selectedDateRangeRef.current.startYear,
26623
- endYear: selectedDateRangeRef.current.endYear,
26624
- finalized: false,
26625
- };
26626
- existingIndex = periodItems.findIndex(function (item) {
26627
- return inRange(periodItem_1.startYear, item.startYear, item.endYear) ||
26628
- inRange(periodItem_1.endYear, item.startYear, item.endYear);
26629
- });
26630
- if (!(existingIndex === -1)) return [3 /*break*/, 2];
26631
- return [4 /*yield*/, post("national/programme/addNdcDetailsPeriod", __assign({}, periodItem_1))];
26632
- case 1:
26633
- response = _a.sent();
26634
- if (response && response.data) {
26635
- addedPeriodItem = response.data;
26636
- updatedPeriodItem_1 = __assign(__assign({}, addedPeriodItem), { key: addedPeriodItem.id, label: "".concat(addedPeriodItem.startYear, "-").concat(addedPeriodItem.endYear) });
26637
- setPeriodItems(function (items) { return __spreadArray(__spreadArray([], items, true), [updatedPeriodItem_1], false); });
26638
- setSelectedPeriod(updatedPeriodItem_1);
26639
- }
26640
- return [3 /*break*/, 3];
26641
- case 2:
26642
- antd.message.open({
26643
- type: "error",
26644
- content: t("ndc:rangeAlreadyExists"),
26645
- duration: 3,
26646
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26647
- });
26648
- _a.label = 3;
26649
- case 3: return [3 /*break*/, 5];
26650
- case 4:
26651
- exception_3 = _a.sent();
26652
- antd.message.open({
26653
- type: "error",
26654
- content: exception_3.message,
26655
- duration: 3,
26656
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26657
- });
26658
- return [3 /*break*/, 5];
26659
- case 5: return [2 /*return*/];
26660
- }
26661
- });
26662
- }); };
26449
+ React.useEffect(function () {
26450
+ if (periodItems && periodItems.length > 3) {
26451
+ setSelectedTab(periodItems[periodItems.length - 1].key);
26452
+ }
26453
+ }, [periodItems]);
26663
26454
  var onDateRangeChanged = function (range) {
26664
26455
  var period = {
26665
- startYear: Number(moment(range[0]).year()),
26666
- endYear: Number(moment(range[1]).year()),
26456
+ start: Number(moment(range[0]).year()),
26457
+ end: Number(moment(range[1]).year()),
26667
26458
  };
26668
- selectedDateRangeRef.current = period;
26459
+ selectedPeriod.current = period;
26669
26460
  };
26461
+ function addNewPeriodContent() {
26462
+ 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"))))));
26469
+ }
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 }));
26473
+ }
26670
26474
  var onTabChange = function (key) {
26671
- var selectedPeriod = periodItems.find(function (item) { return item.key === key; });
26672
- if (selectedPeriod) {
26673
- setSelectedPeriod(selectedPeriod);
26674
- }
26675
- };
26676
- var onActionConfirmed = function () { return __awaiter(void 0, void 0, void 0, function () {
26677
- var actionResponse, exception_4;
26678
- return __generator(this, function (_a) {
26679
- switch (_a.label) {
26680
- case 0:
26681
- setLoading(true);
26682
- _a.label = 1;
26683
- case 1:
26684
- _a.trys.push([1, 10, , 11]);
26685
- if (!(actionInfo.action === "Approve")) return [3 /*break*/, 3];
26686
- return [4 /*yield*/, post("national/programme/approveNdcDetailsAction", {
26687
- id: actionInfo.recordId,
26688
- })];
26689
- case 2:
26690
- actionResponse = _a.sent();
26691
- return [3 /*break*/, 9];
26692
- case 3:
26693
- if (!(actionInfo.action === "Reject")) return [3 /*break*/, 5];
26694
- return [4 /*yield*/, post("national/programme/rejectNdcDetailsAction", {
26695
- id: actionInfo.recordId,
26696
- })];
26697
- case 4:
26698
- actionResponse = _a.sent();
26699
- return [3 /*break*/, 9];
26700
- case 5:
26701
- if (!(actionInfo.action === "Finalize")) return [3 /*break*/, 7];
26702
- return [4 /*yield*/, post("national/programme/finalizeNdcDetailsPeriod", {
26703
- id: selectedPeriod.key,
26704
- })];
26705
- case 6:
26706
- actionResponse = _a.sent();
26707
- return [3 /*break*/, 9];
26708
- case 7:
26709
- if (!(actionInfo.action === "Delete")) return [3 /*break*/, 9];
26710
- return [4 /*yield*/, post("national/programme/deleteNdcDetailsPeriod", {
26711
- id: selectedPeriod.key,
26712
- })];
26713
- case 8:
26714
- actionResponse = _a.sent();
26715
- _a.label = 9;
26716
- case 9: return [3 /*break*/, 11];
26717
- case 10:
26718
- exception_4 = _a.sent();
26719
- antd.message.open({
26720
- type: "error",
26721
- content: exception_4.message,
26722
- duration: 3,
26723
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26724
- });
26725
- return [3 /*break*/, 11];
26726
- case 11:
26727
- if (actionResponse) {
26728
- if (actionInfo.action === "Delete") {
26729
- antd.message.open({
26730
- type: "success",
26731
- content: t("ndc:deletePeriodSuccessMsg"),
26732
- duration: 3,
26733
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26734
- });
26735
- fetchNdcDetailPeriods();
26736
- }
26737
- else if (actionInfo.action === "Finalize") {
26738
- antd.message.open({
26739
- type: "success",
26740
- content: t("ndc:finalizeSuccessMsg"),
26741
- duration: 3,
26742
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26743
- });
26744
- fetchNdcDetailPeriods();
26745
- }
26746
- else if (actionInfo.action === "Approve") {
26747
- antd.message.open({
26748
- type: "success",
26749
- content: t("ndc:approveSuccessMsg"),
26750
- duration: 3,
26751
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26752
- });
26753
- fetchNdcDetailActions();
26754
- }
26755
- else if (actionInfo.action === "Reject") {
26756
- antd.message.open({
26757
- type: "success",
26758
- content: t("ndc:rejectSuccessMsg"),
26759
- duration: 3,
26760
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26761
- });
26762
- fetchNdcDetailActions();
26763
- }
26764
- }
26765
- setOpenConfirmationModal(false);
26766
- setLoading(false);
26767
- return [2 /*return*/];
26768
- }
26769
- });
26770
- }); };
26771
- var onActionCanceled = function () {
26772
- setOpenConfirmationModal(false);
26475
+ setSelectedTab(key);
26773
26476
  };
26774
- var fetchNdcDetailPeriods = function () { return __awaiter(void 0, void 0, void 0, function () {
26775
- var periods, addNewTab, response, exception_5;
26776
- return __generator(this, function (_a) {
26777
- switch (_a.label) {
26778
- case 0:
26779
- setLoading(true);
26780
- _a.label = 1;
26781
- case 1:
26782
- _a.trys.push([1, 3, 4, 5]);
26783
- periods = [];
26784
- addNewTab = {
26785
- key: "add_new",
26786
- label: "Add New",
26787
- startYear: 0,
26788
- endYear: 0,
26789
- finalized: false,
26790
- deleted: false,
26791
- };
26792
- return [4 /*yield*/, get("national/programme/queryNdcDetailsPeriod")];
26793
- case 2:
26794
- response = _a.sent();
26795
- if (response && response.data) {
26796
- periods = response.data.map(function (period) {
26797
- return __assign(__assign({}, period), { key: period.id, label: period.finalized ? (React.createElement("span", null,
26798
- React.createElement(icons.LockOutlined, null),
26799
- " ",
26800
- period.startYear,
26801
- "-",
26802
- period.endYear,
26803
- " ")) : ("".concat(period.startYear, "-").concat(period.endYear)) });
26804
- });
26805
- }
26806
- if (isGovernmentUser) {
26807
- periods.unshift(addNewTab);
26808
- }
26809
- setPeriodItems(periods);
26810
- if (isGovernmentUser) {
26811
- setSelectedPeriod(addNewTab);
26812
- }
26813
- else {
26814
- setSelectedPeriod(periods[0]);
26815
- }
26816
- setLoading(false);
26817
- return [3 /*break*/, 5];
26818
- case 3:
26819
- exception_5 = _a.sent();
26820
- antd.message.open({
26821
- type: "error",
26822
- content: exception_5.message,
26823
- duration: 3,
26824
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26825
- });
26826
- return [3 /*break*/, 5];
26827
- case 4:
26828
- setLoading(false);
26829
- return [7 /*endfinally*/];
26830
- case 5: return [2 /*return*/];
26831
- }
26832
- });
26833
- }); };
26834
- var fetchNdcDetailActions = function () { return __awaiter(void 0, void 0, void 0, function () {
26835
- var response, maxActionId, exception_6;
26836
- return __generator(this, function (_a) {
26837
- switch (_a.label) {
26838
- case 0:
26839
- setLoading(true);
26840
- _a.label = 1;
26841
- case 1:
26842
- _a.trys.push([1, 3, 4, 5]);
26843
- return [4 /*yield*/, get("national/programme/queryNdcDetailsAction")];
26844
- case 2:
26845
- response = _a.sent();
26846
- if (response && response.data) {
26847
- maxActionId = Math.max.apply(Math, response.data.map(function (item) { return item.id; }));
26848
- setNextAvailableActionId(maxActionId + 1);
26849
- setNdcActionsList(response.data);
26850
- }
26851
- setLoading(false);
26852
- return [3 /*break*/, 5];
26853
- case 3:
26854
- exception_6 = _a.sent();
26855
- antd.message.open({
26856
- type: "error",
26857
- content: exception_6.message,
26858
- duration: 3,
26859
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26860
- });
26861
- return [3 /*break*/, 5];
26862
- case 4:
26863
- setLoading(false);
26864
- return [7 /*endfinally*/];
26865
- case 5: return [2 /*return*/];
26866
- }
26867
- });
26868
- }); };
26869
- var fetchMinistries = function () { return __awaiter(void 0, void 0, void 0, function () {
26870
- var response, ministryOrgDetails, exception_7;
26871
- return __generator(this, function (_a) {
26872
- switch (_a.label) {
26873
- case 0:
26874
- setLoading(true);
26875
- _a.label = 1;
26876
- case 1:
26877
- _a.trys.push([1, 3, 4, 5]);
26878
- return [4 /*yield*/, get("national/organisation/getMinistries")];
26879
- case 2:
26880
- response = _a.sent();
26881
- if (response && response.data) {
26882
- ministryOrgDetails = response.data.map(function (value) {
26883
- return {
26884
- value: value.company_companyId,
26885
- label: value.company_name,
26886
- };
26887
- });
26888
- setMinistryOrgList(ministryOrgDetails);
26889
- }
26890
- setLoading(false);
26891
- return [3 /*break*/, 5];
26892
- case 3:
26893
- exception_7 = _a.sent();
26894
- antd.message.open({
26895
- type: "error",
26896
- content: exception_7.message,
26897
- duration: 3,
26898
- style: { textAlign: "right", marginRight: 15, marginTop: 10 },
26899
- });
26900
- return [3 /*break*/, 5];
26901
- case 4:
26902
- setLoading(false);
26903
- return [7 /*endfinally*/];
26904
- case 5: return [2 /*return*/];
26905
- }
26906
- });
26907
- }); };
26908
26477
  React.useEffect(function () {
26909
- fetchNdcDetailPeriods();
26910
- fetchNdcDetailActions();
26911
- fetchMinistries();
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);
26912
26738
  }, []);
26913
- return (React.createElement("div", { className: "ndc-details content-container" },
26739
+ return (React.createElement("div", { className: "ndc-management content-container" },
26914
26740
  React.createElement("div", { className: "title-bar" },
26915
26741
  React.createElement(antd.Row, { justify: "space-between", align: "middle" },
26916
26742
  React.createElement(antd.Col, { span: 20 },
26917
26743
  React.createElement("div", { className: "body-title" }, t("ndc:ndcTitle")),
26918
26744
  React.createElement("div", { className: "body-sub-title" }, t("ndc:ndcSubTitle"))))),
26919
26745
  React.createElement("div", null,
26920
- React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedPeriod.key, onChange: onTabChange })),
26921
- React.createElement("div", null, selectedPeriod.key === "add_new"
26922
- ? addNewPeriodContent()
26923
- : mainNdcActionTableContent()),
26924
- React.createElement(UserActionConfirmationModel, { t: t, actionInfo: actionInfo, onActionConfirmed: onActionConfirmed, onActionCanceled: onActionCanceled, openModal: openConfirmationModal, errorMsg: "", loading: loading })));
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
+ } }))))));
26925
26760
  };
26926
26761
 
26927
26762
  var ImgWithFallback = function (_a) {
@@ -28606,7 +28441,7 @@ exports.getCreditStageVal = getCreditStageVal;
28606
28441
  exports.getFinancialFields = getFinancialFields;
28607
28442
  exports.getGeneralFields = getGeneralFields;
28608
28443
  exports.getInvestmentStatusEnumVal = getInvestmentStatusEnumVal;
28609
- exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal$1;
28444
+ exports.getNdcActionStatusEnumVal = getNdcActionStatusEnumVal;
28610
28445
  exports.getNdcStatusTagType = getNdcStatusTagType;
28611
28446
  exports.getRetirementTypeString = getRetirementTypeString;
28612
28447
  exports.getStageEnumVal = getStageEnumVal;