@undp/carbon-library 1.0.135-CARBON-343.11 → 1.0.135-CARBON-343.13

Sign up to get free protection for your applications and to get access to all the features.
package/dist/cjs/index.js CHANGED
@@ -23628,7 +23628,7 @@ var css_248z$4 = ".steps-actions {\n display: flex;\n flex-direction: row-reve
23628
23628
  styleInject(css_248z$4);
23629
23629
 
23630
23630
  var NdcDetailsComponent = function (props) {
23631
- var t = props.t; props.useConnection;
23631
+ var t = props.t; props.useConnection; var useUserContext = props.useUserContext;
23632
23632
  var RangePicker = antd.DatePicker.RangePicker;
23633
23633
  var _a = React.useState([]), ndcDetailsData = _a[0], setNdcDetailsData = _a[1];
23634
23634
  var _b = React.useState(false), loading = _b[0]; _b[1];
@@ -23636,6 +23636,19 @@ var NdcDetailsComponent = function (props) {
23636
23636
  var _c = React.useState([]), periodItems = _c[0], setPeriodItems = _c[1];
23637
23637
  var _d = React.useState("add_new"), selectedTab = _d[0], setSelectedTab = _d[1];
23638
23638
  var selectedPeriod = React.useRef({});
23639
+ var userInfoState = useUserContext().userInfoState;
23640
+ var isAddRangeVisible = function () {
23641
+ return (((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY ||
23642
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT) &&
23643
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
23644
+ };
23645
+ var isAddNdcActionVisible = function () {
23646
+ return ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT &&
23647
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly);
23648
+ };
23649
+ var inRange = function (num, min, max) {
23650
+ return num >= min && num <= max;
23651
+ };
23639
23652
  var handleSave = function (row) {
23640
23653
  var newData = __spreadArray([], ndcDetailsData, true);
23641
23654
  var index = newData.findIndex(function (item) { return row.key === item.key; });
@@ -23644,7 +23657,16 @@ var NdcDetailsComponent = function (props) {
23644
23657
  setNdcDetailsData(newData);
23645
23658
  };
23646
23659
  var getNdcDetailsForPeriod = function () {
23647
- return ndcDetailsData;
23660
+ var range = selectedTab.split("-");
23661
+ if (range.length > 1) {
23662
+ var filteredData = ndcDetailsData.filter(function (item) {
23663
+ return inRange(Number(moment(item.startDate).year()), Number(range[0]), Number(range[1]));
23664
+ });
23665
+ return filteredData;
23666
+ }
23667
+ else {
23668
+ return [];
23669
+ }
23648
23670
  };
23649
23671
  var defaultColumns = [
23650
23672
  {
@@ -23713,9 +23735,6 @@ var NdcDetailsComponent = function (props) {
23713
23735
  );
23714
23736
  }
23715
23737
  var onCancelPeriod = function () { };
23716
- var inRange = function (num, min, max) {
23717
- return num >= min && num <= max;
23718
- };
23719
23738
  var onAddNewPeriod = function () {
23720
23739
  if (selectedPeriod && selectedPeriod.current) {
23721
23740
  var newPeriodItem_1 = {
@@ -23776,8 +23795,8 @@ var NdcDetailsComponent = function (props) {
23776
23795
  kpi: 25,
23777
23796
  },
23778
23797
  {
23779
- startDate: new Date("2018-03-25"),
23780
- endDate: new Date("2019-03-25"),
23798
+ startDate: new Date("2019-03-25"),
23799
+ endDate: new Date("2019-08-25"),
23781
23800
  nationalPlanObj: "Strengthen the private sector to create 10,000 jobs",
23782
23801
  kpi: 10500,
23783
23802
  },
@@ -23801,11 +23820,6 @@ var NdcDetailsComponent = function (props) {
23801
23820
  },
23802
23821
  ];
23803
23822
  var initialPeriods = [
23804
- {
23805
- key: "add_new",
23806
- label: "Add New",
23807
- children: addNewPeriodContent(),
23808
- },
23809
23823
  {
23810
23824
  key: "2019-2020",
23811
23825
  label: "2019-2020",
@@ -23814,18 +23828,22 @@ var NdcDetailsComponent = function (props) {
23814
23828
  children: ndcDetailsTableContent(),
23815
23829
  },
23816
23830
  {
23817
- key: "2020-2023",
23818
- label: "2020-2023",
23819
- start: 2020,
23820
- end: 2023,
23831
+ key: "2021-2023",
23832
+ label: "2021-2023",
23833
+ start: 2021,
23834
+ end: 2021,
23821
23835
  children: ndcDetailsTableContent(),
23822
- }
23836
+ },
23823
23837
  ];
23824
- ({
23825
- key: "add_new",
23826
- label: "Add New",
23827
- children: addNewPeriodContent(),
23828
- });
23838
+ if (isAddRangeVisible()) {
23839
+ initialPeriods.unshift({
23840
+ key: "add_new",
23841
+ label: "Add New",
23842
+ start: 0,
23843
+ end: 0,
23844
+ children: addNewPeriodContent(),
23845
+ });
23846
+ }
23829
23847
  setPeriodItems(initialPeriods);
23830
23848
  periodItemsRef.current = initialPeriods;
23831
23849
  setNdcDetailsData(defaultNdcDetails);
@@ -23840,11 +23858,13 @@ var NdcDetailsComponent = function (props) {
23840
23858
  React.createElement(antd.Tabs, { centered: false, defaultActiveKey: "1", items: periodItems, activeKey: selectedTab, onChange: onTabChange })),
23841
23859
  selectedTab !== "add_new" && (React.createElement("div", null,
23842
23860
  React.createElement("div", null,
23843
- React.createElement(antd.Table, { components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getNdcDetailsForPeriod(), columns: columns, footer: function () { return (React.createElement(antd.Row, { justify: "center" },
23844
- React.createElement(antd.Button, { onClick: onAddNewNdcDetail, type: "default", style: {
23845
- marginBottom: 16,
23846
- width: "100%",
23847
- } }, t("ndc:addNdcAction")))); } }))))));
23861
+ React.createElement(antd.Table, { components: components, rowClassName: function () { return "editable-row"; }, bordered: true, dataSource: getNdcDetailsForPeriod(), columns: columns, footer: function () {
23862
+ return isAddNdcActionVisible() && (React.createElement(antd.Row, { justify: "center" },
23863
+ React.createElement(antd.Button, { onClick: onAddNewNdcDetail, type: "default", style: {
23864
+ marginBottom: 16,
23865
+ width: "100%",
23866
+ } }, t("ndc:addNdcAction"))));
23867
+ } }))))));
23848
23868
  };
23849
23869
 
23850
23870
  var ImgWithFallback = function (_a) {