@undp/carbon-library 1.0.52 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,8 @@ export declare const GovBGColor = "rgba(185, 226, 244, 0.56)";
10
10
  export declare const GovColor = "#16B1FF";
11
11
  export declare const DevBGColor = "rgba(254, 241, 173, 0.55)";
12
12
  export declare const DevColor = "#FFA070";
13
+ export declare const MinBGColor = "rgba(198, 144, 251, 0.12)";
14
+ export declare const MinColor = "#9155fd";
13
15
  export declare const CertBGColor = "rgba(128, 255, 0, 0.12)";
14
16
  export declare const CertColor = "#519E4F";
15
17
  export declare const TooltipColor = "#6ACDFF";
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { PlusOutlined, FilterOutlined, BankOutlined, SafetyOutlined, ExperimentOutlined, UploadOutlined, AuditOutlined, EllipsisOutlined, StarOutlined, SearchOutlined, ToolOutlined, EyeOutlined, EditOutlined, DeleteOutlined, BlockOutlined, BulbOutlined, ClockCircleOutlined, UserOutlined } from '@ant-design/icons';
1
+ import { PlusOutlined, FilterOutlined, BankOutlined, SafetyOutlined, AuditOutlined, ExperimentOutlined, UploadOutlined, EllipsisOutlined, StarOutlined, SearchOutlined, ToolOutlined, EyeOutlined, EditOutlined, DeleteOutlined, BlockOutlined, BulbOutlined, ClockCircleOutlined, UserOutlined } from '@ant-design/icons';
2
2
  import { Input, Radio, Space, Row, Col, Button, Dropdown, Table, Empty, message, Form, Steps, Upload, Tooltip, Select, Modal, Alert, Skeleton, Card, Popover, List, Typography, Tag, Checkbox, InputNumber, Spin, Progress } from 'antd';
3
3
  import React, { useState, useEffect, useRef } from 'react';
4
4
  import { DateTime } from 'luxon';
@@ -130,21 +130,23 @@ var RoleIcon = function (props) {
130
130
  return (React.createElement("span", { className: "role-icon", style: { backgroundColor: bg, color: color } }, icon));
131
131
  };
132
132
 
133
- var AdminBGColor = 'rgba(255, 166, 166, 0.42)';
134
- var AdminColor = '#D12800';
135
- var RootBGColor = 'rgba(255, 0, 229, 0.15)';
136
- var RootColor = '#DB00FF';
137
- var ManagerBGColor = 'rgba(96, 27, 209, 0.13)';
138
- var ManagerColor = '#75009E';
139
- var ViewBGColor = 'rgba(176, 190, 197, 0.23)';
140
- var ViewColor = '#707070';
141
- var GovBGColor = 'rgba(185, 226, 244, 0.56)';
142
- var GovColor = '#16B1FF';
143
- var DevBGColor = 'rgba(254, 241, 173, 0.55)';
144
- var DevColor = '#FFA070';
145
- var CertBGColor = 'rgba(128, 255, 0, 0.12)';
146
- var CertColor = '#519E4F';
147
- var TooltipColor = '#6ACDFF';
133
+ var AdminBGColor = "rgba(255, 166, 166, 0.42)";
134
+ var AdminColor = "#D12800";
135
+ var RootBGColor = "rgba(255, 0, 229, 0.15)";
136
+ var RootColor = "#DB00FF";
137
+ var ManagerBGColor = "rgba(96, 27, 209, 0.13)";
138
+ var ManagerColor = "#75009E";
139
+ var ViewBGColor = "rgba(176, 190, 197, 0.23)";
140
+ var ViewColor = "#707070";
141
+ var GovBGColor = "rgba(185, 226, 244, 0.56)";
142
+ var GovColor = "#16B1FF";
143
+ var DevBGColor = "rgba(254, 241, 173, 0.55)";
144
+ var DevColor = "#FFA070";
145
+ var MinBGColor = "rgba(198, 144, 251, 0.12)";
146
+ var MinColor = "#9155fd";
147
+ var CertBGColor = "rgba(128, 255, 0, 0.12)";
148
+ var CertColor = "#519E4F";
149
+ var TooltipColor = "#6ACDFF";
148
150
 
149
151
  var ProgrammeStage;
150
152
  (function (ProgrammeStage) {
@@ -479,8 +481,8 @@ var CompanyManagementComponent = function (props) {
479
481
  };
480
482
  var getCompanyRoleComponent = function (item) {
481
483
  return (React.createElement("div", { style: { display: "flex", alignItems: "center" } },
482
- item === "Government" ? (React.createElement(RoleIcon, { icon: React.createElement(BankOutlined, null), bg: GovBGColor, color: GovColor })) : item === "Certifier" ? (React.createElement(RoleIcon, { icon: React.createElement(SafetyOutlined, null), bg: CertBGColor, color: CertColor })) : (React.createElement(RoleIcon, { icon: React.createElement(ExperimentOutlined, null), bg: DevBGColor, color: DevColor })),
483
- item === "ProgrammeDeveloper" ? (React.createElement("div", null, t("company:developer"))) : (React.createElement("div", null, item))));
484
+ item === CompanyRole$1.GOVERNMENT ? (React.createElement(RoleIcon, { icon: React.createElement(BankOutlined, null), bg: GovBGColor, color: GovColor })) : item === CompanyRole$1.CERTIFIER ? (React.createElement(RoleIcon, { icon: React.createElement(SafetyOutlined, null), bg: CertBGColor, color: CertColor })) : item === CompanyRole$1.MINISTRY ? (React.createElement(RoleIcon, { icon: React.createElement(AuditOutlined, null), bg: MinBGColor, color: MinColor })) : (React.createElement(RoleIcon, { icon: React.createElement(ExperimentOutlined, null), bg: DevBGColor, color: DevColor })),
485
+ item === CompanyRole$1.PROGRAMME_DEVELOPER ? (React.createElement("div", null, t("company:developer"))) : (React.createElement("div", null, item))));
484
486
  };
485
487
  var handleFilterVisibleChange = function () {
486
488
  setFilterVisible(true);
@@ -691,6 +693,7 @@ var CompanyManagementComponent = function (props) {
691
693
  React.createElement(Space, { direction: "vertical" },
692
694
  React.createElement(Radio, { value: "All" }, t("company:all")),
693
695
  React.createElement(Radio, { value: "Government" }, t("company:gov")),
696
+ React.createElement(Radio, { value: "Ministry" }, t("company:min")),
694
697
  React.createElement(Radio, { value: "ProgrammeDeveloper" }, t("company:developer")),
695
698
  React.createElement(Radio, { value: "Certifier" }, t("company:certifier")))))),
696
699
  },
@@ -1824,8 +1827,8 @@ var UserManagementComponent = function (props) {
1824
1827
  ? item === null || item === void 0 ? void 0 : item.companyRole
1825
1828
  : null;
1826
1829
  return (React.createElement("div", { style: { display: "flex", alignItems: "center" } },
1827
- role === "Government" ? (React.createElement(RoleIcon, { icon: React.createElement(BankOutlined, null), bg: GovBGColor, color: GovColor })) : role === "Certifier" ? (React.createElement(RoleIcon, { icon: React.createElement(SafetyOutlined, null), bg: CertBGColor, color: CertColor })) : (React.createElement(RoleIcon, { icon: React.createElement(ExperimentOutlined, null), bg: DevBGColor, color: DevColor })),
1828
- role === "ProgrammeDeveloper" ? (React.createElement("div", null, "Developer")) : (React.createElement("div", null, role))));
1830
+ role === CompanyRole$1.GOVERNMENT ? (React.createElement(RoleIcon, { icon: React.createElement(BankOutlined, null), bg: GovBGColor, color: GovColor })) : role === CompanyRole$1.CERTIFIER ? (React.createElement(RoleIcon, { icon: React.createElement(SafetyOutlined, null), bg: CertBGColor, color: CertColor })) : role === CompanyRole$1.MINISTRY ? (React.createElement(RoleIcon, { icon: React.createElement(AuditOutlined, null), bg: MinBGColor, color: MinColor })) : (React.createElement(RoleIcon, { icon: React.createElement(ExperimentOutlined, null), bg: DevBGColor, color: DevColor })),
1831
+ role === CompanyRole$1.PROGRAMME_DEVELOPER ? (React.createElement("div", null, "Developer")) : (React.createElement("div", null, role))));
1829
1832
  };
1830
1833
  var deleteUser = function (record) { return __awaiter(void 0, void 0, void 0, function () {
1831
1834
  var response, temp, index, error_1;
@@ -2224,6 +2227,7 @@ var UserManagementComponent = function (props) {
2224
2227
  React.createElement(Space, { direction: "vertical" },
2225
2228
  React.createElement(Radio, { value: "All" }, "All"),
2226
2229
  React.createElement(Radio, { value: "Government" }, "Government"),
2230
+ React.createElement(Radio, { value: "Ministry" }, "Ministry"),
2227
2231
  React.createElement(Radio, { value: "ProgrammeDeveloper" }, "Developer"),
2228
2232
  React.createElement(Radio, { value: "Certifier" }, "Certifier"))))),
2229
2233
  },
@@ -2317,15 +2321,17 @@ var ProgrammeManagementComponent = function (props) {
2317
2321
  var _k = useState(), dataFilter = _k[0], setDataFilter = _k[1];
2318
2322
  var _l = useState(), sortOrder = _l[0], setSortOrder = _l[1];
2319
2323
  var _m = useState(), sortField = _m[0], setSortField = _m[1];
2324
+ var _o = useState([]), ministrySectoralScope = _o[0], setMinistrySectoralScope = _o[1];
2325
+ var _p = useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
2320
2326
  var userInfoState = useUserContext().userInfoState;
2321
2327
  var stageObject = enableAddProgramme ? ProgrammeStageMRV : ProgrammeStage;
2322
2328
  var statusOptions = Object.keys(stageObject).map(function (k, index) { return ({
2323
2329
  label: Object.values(stageObject)[index],
2324
2330
  value: k,
2325
2331
  }); });
2326
- var _o = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _o[0], setSelectedStatus = _o[1];
2327
- var _p = useState(false), indeterminate = _p[0], setIndeterminate = _p[1];
2328
- var _q = useState(true), checkAll = _q[0], setCheckAll = _q[1];
2332
+ var _q = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
2333
+ var _r = useState(false), indeterminate = _r[0], setIndeterminate = _r[1];
2334
+ var _s = useState(true), checkAll = _s[0], setCheckAll = _s[1];
2329
2335
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
2330
2336
  return __generator(this, function (_a) {
2331
2337
  console.log(checkedValues);
@@ -2502,12 +2508,13 @@ var ProgrammeManagementComponent = function (props) {
2502
2508
  },
2503
2509
  ].filter(function (column) { return visibleColumns.includes(column.key); });
2504
2510
  var getAllProgramme = function () { return __awaiter(void 0, void 0, void 0, function () {
2505
- var filter, sort, response, error_1;
2511
+ var filter, filterOr, sort, response, error_1;
2506
2512
  return __generator(this, function (_a) {
2507
2513
  switch (_a.label) {
2508
2514
  case 0:
2509
2515
  setLoading(true);
2510
2516
  filter = [];
2517
+ filterOr = [];
2511
2518
  if (dataFilter) {
2512
2519
  filter.push(dataFilter);
2513
2520
  }
@@ -2521,6 +2528,15 @@ var ProgrammeManagementComponent = function (props) {
2521
2528
  value: "".concat(search, "%"),
2522
2529
  });
2523
2530
  }
2531
+ if (ministryLevelFilter) {
2532
+ ministrySectoralScope === null || ministrySectoralScope === void 0 ? void 0 : ministrySectoralScope.map(function (secScope) {
2533
+ filterOr.push({
2534
+ key: "sectoralScope",
2535
+ operation: "=",
2536
+ value: secScope,
2537
+ });
2538
+ });
2539
+ }
2524
2540
  if (sortOrder && sortField) {
2525
2541
  sort = {
2526
2542
  key: sortField === "certifierId" ? "certifierId[1]" : sortField,
@@ -2541,6 +2557,7 @@ var ProgrammeManagementComponent = function (props) {
2541
2557
  page: currentPage,
2542
2558
  size: pageSize,
2543
2559
  filterAnd: filter,
2560
+ filterOr: filterOr,
2544
2561
  sort: sort,
2545
2562
  })];
2546
2563
  case 2:
@@ -2564,6 +2581,47 @@ var ProgrammeManagementComponent = function (props) {
2564
2581
  }
2565
2582
  });
2566
2583
  }); };
2584
+ var getUserDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
2585
+ var response, error_2;
2586
+ var _a, _b, _c, _d, _e, _f;
2587
+ return __generator(this, function (_g) {
2588
+ switch (_g.label) {
2589
+ case 0:
2590
+ setLoading(true);
2591
+ _g.label = 1;
2592
+ case 1:
2593
+ _g.trys.push([1, 3, , 4]);
2594
+ return [4 /*yield*/, post("national/user/query", {
2595
+ page: 1,
2596
+ size: 10,
2597
+ filterAnd: [
2598
+ {
2599
+ key: "id",
2600
+ operation: "=",
2601
+ value: userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.id,
2602
+ },
2603
+ ],
2604
+ })];
2605
+ case 2:
2606
+ response = _g.sent();
2607
+ if (response && response.data) {
2608
+ if (((_a = response === null || response === void 0 ? void 0 : response.data[0]) === null || _a === void 0 ? void 0 : _a.companyRole) === CompanyRole$1.MINISTRY &&
2609
+ ((_b = response === null || response === void 0 ? void 0 : response.data[0]) === null || _b === void 0 ? void 0 : _b.company) &&
2610
+ ((_d = (_c = response === null || response === void 0 ? void 0 : response.data[0]) === null || _c === void 0 ? void 0 : _c.company) === null || _d === void 0 ? void 0 : _d.sectoralScope)) {
2611
+ setMinistrySectoralScope((_f = (_e = response === null || response === void 0 ? void 0 : response.data[0]) === null || _e === void 0 ? void 0 : _e.company) === null || _f === void 0 ? void 0 : _f.sectoralScope);
2612
+ }
2613
+ }
2614
+ setLoading(false);
2615
+ return [3 /*break*/, 4];
2616
+ case 3:
2617
+ error_2 = _g.sent();
2618
+ console.log("Error in getting users", error_2);
2619
+ setLoading(false);
2620
+ return [3 /*break*/, 4];
2621
+ case 4: return [2 /*return*/];
2622
+ }
2623
+ });
2624
+ }); };
2567
2625
  var onSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
2568
2626
  return __generator(this, function (_a) {
2569
2627
  setSearch(searchText);
@@ -2580,7 +2638,19 @@ var ProgrammeManagementComponent = function (props) {
2580
2638
  }, [statusFilter, dataFilter]);
2581
2639
  useEffect(function () {
2582
2640
  getAllProgramme();
2583
- }, [currentPage, pageSize, sortField, sortOrder, search]);
2641
+ }, [
2642
+ currentPage,
2643
+ pageSize,
2644
+ sortField,
2645
+ sortOrder,
2646
+ search,
2647
+ ministryLevelFilter,
2648
+ ]);
2649
+ useEffect(function () {
2650
+ if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole$1.MINISTRY) {
2651
+ getUserDetails();
2652
+ }
2653
+ }, []);
2584
2654
  var onChange = function (page, size) {
2585
2655
  setCurrentPage(page);
2586
2656
  setPageSize(size);
@@ -2613,14 +2683,26 @@ var ProgrammeManagementComponent = function (props) {
2613
2683
  React.createElement("div", { className: "filter-section" },
2614
2684
  React.createElement("div", { className: "search-filter" },
2615
2685
  React.createElement(Checkbox, { className: "label", onChange: function (v) {
2616
- return setDataFilter(v.target.checked
2617
- ? {
2618
- key: "companyId",
2619
- operation: "ANY",
2620
- value: userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId,
2686
+ if (userInfoState.companyRole === CompanyRole$1.MINISTRY) {
2687
+ if (v.target.checked) {
2688
+ setMinistryLevelFilter(true);
2689
+ }
2690
+ else {
2691
+ setMinistryLevelFilter(false);
2621
2692
  }
2622
- : undefined);
2623
- } }, t("view:seeMine"))),
2693
+ }
2694
+ else {
2695
+ setDataFilter(v.target.checked
2696
+ ? {
2697
+ key: "companyId",
2698
+ operation: "ANY",
2699
+ value: userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyId,
2700
+ }
2701
+ : undefined);
2702
+ }
2703
+ } }, userInfoState.companyRole === CompanyRole$1.MINISTRY
2704
+ ? t("view:ministryLevel")
2705
+ : t("view:seeMine"))),
2624
2706
  React.createElement("div", { className: "search-bar" },
2625
2707
  React.createElement(Search, { onPressEnter: onSearch, placeholder: "".concat(t("programme:searchByName")), allowClear: true,
2626
2708
  // onChange={(e) => setSearchText(e.target.value)}
@@ -5162,6 +5244,15 @@ var UserProfileComponent = function (props) {
5162
5244
  }
5163
5245
  });
5164
5246
  }); };
5247
+ var getEnumKeysFromValues = function (values) {
5248
+ var enumKeys = [];
5249
+ for (var key in SectoralScope) {
5250
+ if (values.includes(SectoralScope[key])) {
5251
+ enumKeys.push(key);
5252
+ }
5253
+ }
5254
+ return enumKeys;
5255
+ };
5165
5256
  useEffect(function () {
5166
5257
  getUserProfileDetails();
5167
5258
  }, []);
@@ -5232,6 +5323,18 @@ var UserProfileComponent = function (props) {
5232
5323
  React.createElement(Col, { span: 12, className: "field-key" }, t("userProfile:companyRole")),
5233
5324
  React.createElement(Col, { span: 12, className: "field-value" },
5234
5325
  React.createElement(CompanyRoleIcon, { role: organisationDetails.companyRole }))),
5326
+ (organisationDetails === null || organisationDetails === void 0 ? void 0 : organisationDetails.companyRole) ===
5327
+ CompanyRole$1.MINISTRY && (React.createElement(React.Fragment, null,
5328
+ React.createElement(Row, { className: "field" },
5329
+ React.createElement(Col, { span: 12, className: "field-key" }, t("userProfile:ministerName")),
5330
+ React.createElement(Col, { span: 12, className: "field-value" }, organisationDetails.nameOfMinister
5331
+ ? organisationDetails.nameOfMinister
5332
+ : "-")),
5333
+ React.createElement(Row, { className: "field" },
5334
+ React.createElement(Col, { span: 12, className: "field-key" }, t("userProfile:sectoralScope")),
5335
+ React.createElement(Col, { span: 12, className: "field-value" }, organisationDetails.sectoralScope
5336
+ ? getEnumKeysFromValues(organisationDetails.sectoralScope).join(", ")
5337
+ : "-")))),
5235
5338
  React.createElement(Row, { className: "field" },
5236
5339
  React.createElement(Col, { span: 12, className: "field-key" }, t("userProfile:email")),
5237
5340
  React.createElement(Col, { span: 12, className: "field-value nextline-overflow" }, organisationDetails.email