@undp/carbon-library 1.0.51 → 1.0.53

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)}
@@ -2746,7 +2828,7 @@ var ProgrammeIssueForm = function (props) {
2746
2828
  if (!/[0-9\.]/.test(event.key)) {
2747
2829
  event.preventDefault();
2748
2830
  }
2749
- }, formatter: function (value) { return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ','); } }))),
2831
+ } }))),
2750
2832
  React.createElement(Col, { lg: 1, md: 1, className: "seperator" }, '/'),
2751
2833
  React.createElement(Col, { lg: 6, md: 12 },
2752
2834
  React.createElement(Form.Item, { className: "popup-credit-input" },
@@ -2934,7 +3016,7 @@ var ProgrammeTransferForm = function (props) {
2934
3016
  if (!/[0-9\.]/.test(event.key)) {
2935
3017
  event.preventDefault();
2936
3018
  }
2937
- }, formatter: function (value) { return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ','); } }))),
3019
+ } }))),
2938
3020
  React.createElement(Col, { lg: 1, md: 1, className: "seperator" }, '/'),
2939
3021
  React.createElement(Col, { lg: 6, md: 12 },
2940
3022
  React.createElement(Form.Item, { className: "popup-credit-input" },
@@ -3163,7 +3245,7 @@ var ProgrammeRetireForm = function (props) {
3163
3245
  if (!/[0-9\.]/.test(event.key)) {
3164
3246
  event.preventDefault();
3165
3247
  }
3166
- }, formatter: function (value) { return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ','); } }))),
3248
+ } }))),
3167
3249
  React.createElement(Col, { lg: 1, md: 1, className: "seperator" }, '/'),
3168
3250
  React.createElement(Col, { lg: 6, md: 12 },
3169
3251
  React.createElement(Form.Item, { className: "popup-credit-input" },
@@ -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