@undp/carbon-library 1.0.131-NAM-4.0 → 1.0.133-CARBON-325.1

Sign up to get free protection for your applications and to get access to all the features.
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { PlusOutlined, FilterOutlined, BankOutlined, SafetyOutlined, AuditOutlined, ExperimentOutlined, UploadOutlined, UserOutlined, MinusCircleOutlined, StarOutlined, ToolOutlined, EyeOutlined, SearchOutlined, EllipsisOutlined, EditOutlined, DeleteOutlined, FileAddOutlined, CheckCircleOutlined, ExclamationCircleOutlined, LinkOutlined, CaretDownOutlined, EyeInvisibleOutlined, GlobalOutlined, FlagOutlined, LineChartOutlined, LikeOutlined, DislikeOutlined } from '@ant-design/icons';
1
+ import { PlusOutlined, FilterOutlined, DownloadOutlined, BankOutlined, SafetyOutlined, AuditOutlined, ExperimentOutlined, UploadOutlined, UserOutlined, MinusCircleOutlined, StarOutlined, ToolOutlined, EyeOutlined, SearchOutlined, EllipsisOutlined, EditOutlined, DeleteOutlined, FileAddOutlined, CheckCircleOutlined, ExclamationCircleOutlined, LinkOutlined, CaretDownOutlined, EyeInvisibleOutlined, GlobalOutlined, FlagOutlined, LineChartOutlined, LikeOutlined, DislikeOutlined } 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, Tag, Checkbox, DatePicker, InputNumber, Popover, List, Typography, Spin, Tabs, Progress } from 'antd';
3
3
  import React, { useState, useEffect, useRef } from 'react';
4
4
  import { DateTime } from 'luxon';
@@ -504,6 +504,7 @@ var CompanyManagementComponent = function (props) {
504
504
  var _j = useState("All"), filterByOrganisationType = _j[0], setFilterByOrganisationType = _j[1];
505
505
  var _k = useState(""), sortOrder = _k[0], setSortOrder = _k[1];
506
506
  var _l = useState(""), sortField = _l[0], setSortField = _l[1];
507
+ var _m = useState(), dataQuery = _m[0], setDataQuery = _m[1];
507
508
  var ability = useAbilityContext();
508
509
  document.addEventListener("mousedown", function (event) {
509
510
  var organisationFilterArea1 = document.querySelector(".filter-bar");
@@ -709,6 +710,11 @@ var CompanyManagementComponent = function (props) {
709
710
  setTableData(availableCompanies);
710
711
  setTotalCompany((_b = (_a = response === null || response === void 0 ? void 0 : response.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.total);
711
712
  }
713
+ setDataQuery({
714
+ filterAnd: filterAnd(),
715
+ filterOr: filterOr(),
716
+ sort: sort(),
717
+ });
712
718
  setLoading(false);
713
719
  return [3 /*break*/, 4];
714
720
  case 3:
@@ -725,6 +731,44 @@ var CompanyManagementComponent = function (props) {
725
731
  }
726
732
  });
727
733
  }); };
734
+ var downloadCompanyData = function () { return __awaiter(void 0, void 0, void 0, function () {
735
+ var response, url, a, error_2;
736
+ var _a;
737
+ return __generator(this, function (_b) {
738
+ switch (_b.label) {
739
+ case 0:
740
+ setLoading(true);
741
+ _b.label = 1;
742
+ case 1:
743
+ _b.trys.push([1, 3, , 4]);
744
+ return [4 /*yield*/, post("national/organisation/download", {
745
+ filterAnd: dataQuery.filterAnd,
746
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
747
+ sort: dataQuery.sort,
748
+ })];
749
+ case 2:
750
+ response = _b.sent();
751
+ if (response && response.data) {
752
+ url = response.data.url;
753
+ a = document.createElement('a');
754
+ a.href = url;
755
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
756
+ document.body.appendChild(a);
757
+ a.click();
758
+ document.body.removeChild(a); // Clean up the created <a> element
759
+ window.URL.revokeObjectURL(url);
760
+ }
761
+ setLoading(false);
762
+ return [3 /*break*/, 4];
763
+ case 3:
764
+ error_2 = _b.sent();
765
+ console.log("Error in downloading company data", error_2);
766
+ setLoading(false);
767
+ return [3 /*break*/, 4];
768
+ case 4: return [2 /*return*/];
769
+ }
770
+ });
771
+ }); };
728
772
  useEffect(function () {
729
773
  getAllCompany();
730
774
  }, [
@@ -812,7 +856,13 @@ var CompanyManagementComponent = function (props) {
812
856
  React.createElement(FilterOutlined, { style: {
813
857
  color: "rgba(58, 53, 65, 0.3)",
814
858
  fontSize: "20px",
815
- } }))))))),
859
+ } })))),
860
+ React.createElement("div", { className: "download-data-btn" },
861
+ React.createElement("a", { onClick: downloadCompanyData },
862
+ React.createElement(DownloadOutlined, { style: {
863
+ color: "rgba(58, 53, 65, 0.3)",
864
+ fontSize: "20px",
865
+ } })))))),
816
866
  React.createElement(Row, null,
817
867
  React.createElement(Col, { span: 24 },
818
868
  React.createElement("div", { className: "userManagement-table-container" },
@@ -837,7 +887,7 @@ var CompanyManagementComponent = function (props) {
837
887
  var css_248z$q = ".company-details-form-container {\n width: 100%; }\n .company-details-form-container .company-details-form .steps-actions {\n display: flex;\n flex-direction: row-reverse; }\n .company-details-form-container .company-details-form .steps-actions .mg-left-1 {\n margin-left: 1rem; }\n .company-details-form-container .company-details-form .row .website .ant-input {\n margin-left: 0.3rem; }\n .company-details-form-container .company-details-form .row .website .ant-input-group-addon {\n border: 1px solid #d9d9d9; }\n .company-details-form-container .company-details-form .row .logo-upload-section {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: start;\n width: 100%; }\n .company-details-form-container .company-details-form .row .logo-upload-section .ant-upload {\n width: 20%; }\n .company-details-form-container .company-details-form .row .logo-upload-section .ant-upload-list {\n align-items: center;\n justify-content: center;\n width: 75%; }\n .company-details-form-container .company-details-form .row .logo-upload-section .ant-upload-list .ant-upload-list-item {\n margin-top: 0; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .certifier-radio-container {\n width: 30%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .certifier-radio-container .ant-radio-button-wrapper-checked:not(\n .ant-radio-button-wrapper-disabled\n) {\n color: #519e4f !important;\n border-color: #519e4f !important;\n box-shadow: none; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .certifier-radio-container .anticon {\n background: #eeeeee;\n border-radius: 50px;\n padding: 0.2rem;\n color: #519e4f; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .dev-radio-container {\n width: 30%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .dev-radio-container .ant-radio-button-wrapper-checked:not(\n .ant-radio-button-wrapper-disabled\n) {\n color: #ffa070 !important;\n border-color: #ffa070 !important;\n box-shadow: none; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .dev-radio-container .anticon {\n background: #eeeeee;\n border-radius: 50px;\n padding: 0.2rem;\n color: #ffa070; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .minister-radio-container {\n width: 30%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .minister-radio-container .ant-radio-button-wrapper-checked:not(\n .ant-radio-button-wrapper-disabled\n) {\n color: #9155fd !important;\n border-color: #9155fd !important;\n box-shadow: none; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .minister-radio-container .anticon {\n background: #eeeeee;\n border-radius: 50px;\n padding: 0.2rem;\n color: #9155fd; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .gov-radio-container {\n width: 45%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .gov-radio-container .ant-radio-button-wrapper-checked:not(\n .ant-radio-button-wrapper-disabled\n) {\n color: #16b1ff !important;\n border-color: #16b1ff !important;\n box-shadow: none; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .gov-radio-container .anticon {\n background: #eeeeee;\n border-radius: 50px;\n padding: 0.2rem;\n color: #16b1ff; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .observer-radio-container {\n width: 25%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .observer-radio-container .ant-radio-button-wrapper-checked:not(\n .ant-radio-button-wrapper-disabled\n) {\n color: #707070 !important;\n border-color: #707070 !important;\n box-shadow: none; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .observer-radio-container .anticon {\n background: #eeeeee;\n border-radius: 50px;\n padding: 0.2rem;\n color: #707070; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .ant-radio-button-wrapper::before {\n background-color: transparent; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .ant-radio-button-wrapper {\n border: 1px solid #d9d9d9; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .anticon {\n margin-right: 0.5rem; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .certifier {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .certifier .ant-radio-button-checked {\n background: rgba(128, 255, 0, 0.12);\n color: #519e4f; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .dev {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .dev .ant-radio-button-checked {\n background: rgba(254, 241, 173, 0.5);\n color: #ffa070; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .gov {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .gov .ant-radio-button-checked {\n background: rgba(185, 226, 244, 0.56);\n color: #16b1ff; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .minister {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .minister .ant-radio-button-checked {\n background: rgba(198, 144, 251, 0.12);\n color: #9155fd; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .observer {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .observer .ant-radio-button-checked {\n background: rgba(176, 190, 197, 0.23);\n color: #707070; }\n .company-details-form-container .company-details-form .row .details-part-two .role-group .role-icons {\n margin-right: 5px; }\n\n.step-title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem; }\n .step-title-container .step-count {\n font-size: 2.2rem;\n font-weight: 800;\n margin-right: 0.4rem;\n color: rgba(58, 53, 65, 0.8); }\n .step-title-container .title {\n font-size: 1rem;\n font-weight: 600;\n color: #3a3541; }\n\n.add-company-main-container {\n display: flex;\n flex-direction: column;\n border-radius: 5px;\n padding: 0 50px; }\n .add-company-main-container .title-container {\n display: flex;\n flex-direction: column;\n border-radius: 5px; }\n .add-company-main-container .title-container .main {\n font-size: 1.25rem;\n font-weight: 500;\n color: #16b1ff; }\n .add-company-main-container .title-container .sub {\n font-size: 0.8rem;\n color: #555657; }\n .add-company-main-container .adding-section {\n display: flex;\n flex-direction: column;\n background-color: #ffffff;\n margin: 1rem 0 1rem 0;\n border-radius: 10px;\n padding: 2.5rem 1.5rem 2.5rem 1.5rem; }\n .add-company-main-container .adding-section .form-section {\n display: flex;\n margin-bottom: 2rem; }\n .add-company-main-container .adding-section .form-section .form-one {\n width: 100%; }\n .add-company-main-container .adding-section .form-section .steps {\n width: 15%; }\n .add-company-main-container .adding-section .form-section .steps-content {\n width: 85%; }\n .add-company-main-container .adding-section .steps-action {\n display: flex;\n flex-direction: row-reverse; }\n\n.ant-upload-list-picture .ant-upload-list-item-error,\n.ant-upload-list-picture-card .ant-upload-list-item-error {\n height: auto;\n max-height: 200px; }\n\n.hide {\n display: none !important; }\n";
838
888
  styleInject(css_248z$q);
839
889
 
840
- var css_248z$p = "body {\n background-color: #f4f5fa;\n font-family: \"Inter\";\n font-weight: 400; }\n\n.ant-menu {\n background-color: #f4f5fa; }\n\n.ant-layout-header {\n background-color: #f4f5fa; }\n\n.ant-layout {\n background-color: #f4f5fa; }\n\n.ant-menu-submenu .ant-menu {\n background-color: #f4f5fa; }\n\n.ant-menu-item {\n background-color: #f4f5fa; }\n\n.ant-menu-sub {\n background-color: #f4f5fa; }\n\n.ant-table-content {\n font-family: \"Inter\"; }\n\n.ant-input {\n border-radius: 5px !important; }\n\n.ant-btn {\n border-radius: 5px !important; }\n\n.ant-input-group-addon:first-child {\n border-radius: 5px !important; }\n\n.ant-input-group .ant-input {\n width: 99% !important; }\n\n.ant-tooltip-inner {\n border-radius: 5px !important;\n background-color: #16b1ff !important; }\n\n.ant-tooltip-arrow-content {\n --antd-arrow-background-color: linear-gradient(to right bottom, #16b1ff, #16b1ff) !important; }\n\n.ant-radio-group {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between; }\n\n.ant-radio-group-large .ant-radio-button-wrapper {\n font-size: 0.8rem;\n width: 25%;\n border-radius: 5px !important; }\n\n.ant-upload-list-picture .ant-upload-list-item-error,\n.ant-upload-list-picture-card .ant-upload-list-item-error {\n border-color: #40a9ff;\n border-radius: 5px;\n height: 40px; }\n .ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-name,\n .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-name {\n color: #40a9ff !important; }\n\n.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {\n color: #40a9ff; }\n\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover {\n border-color: #d9d9d9 !important; }\n\n.ant-input-group-wrapper-status-error .ant-input-group-addon {\n border-color: #d9d9d9 !important; }\n\n.ant-form-item-explain-error {\n font-size: 13px;\n color: rgba(255, 77, 79, 0.8); }\n\n.ant-table-thead\n> tr\n> th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {\n background-color: transparent !important; }\n\n.ant-form-item-label > label {\n flex-direction: row-reverse !important;\n color: rgba(58, 53, 65, 0.5); }\n\n.ant-form-item-label\n> label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {\n margin-left: 0.2rem !important;\n color: rgba(255, 77, 79, 0.8) !important; }\n\n.ant-picker {\n border-radius: 5px !important;\n height: 35px !important; }\n\n.PhoneInput .PhoneInputCountry {\n border: 1px solid #d9d9d9 !important;\n border-radius: 5px !important;\n padding: 0 1rem 0 1rem; }\n\n.PhoneInput .PhoneInputInput {\n flex: 1 1;\n min-width: 0;\n border-radius: 5px !important;\n height: 40px;\n border: 1px solid #d9d9d9 !important;\n outline: none; }\n\n.filter-title {\n color: rgba(58, 53, 65, 0.8);\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 0.875rem; }\n\n.ant-radio-wrapper {\n font-family: 'Inter';\n font-style: normal;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 22px;\n color: rgba(58, 53, 65, 0.8); }\n\n.ant-list-item {\n color: rgba(58, 53, 65, 0.8); }\n\n.PhoneInput .PhoneInputInput:focus-visible,\n.PhoneInput .PhoneInputInput:hover {\n flex: 1 1;\n min-width: 0;\n border-radius: 5px !important;\n height: 40px;\n border-right: 1px solid #40a9ff !important;\n outline: 1px solid #40a9ff; }\n\n.layout-content-container {\n padding-bottom: 100px; }\n .layout-content-container .ant-btn-primary {\n background-color: #16b1ff;\n color: #ffffff;\n border: none; }\n .layout-content-container .ant-btn {\n height: 32px;\n font-weight: 500;\n font-size: 0.8rem;\n border-radius: 0.3rem;\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.25);\n min-width: 80px;\n box-shadow: none; }\n .layout-content-container .ant-btn span {\n text-transform: uppercase; }\n\n.content-container {\n padding: 0px 20px; }\n .content-container .title-bar {\n padding: 0px 0px 30px 0px; }\n .content-container .body-title {\n color: #16b1ff;\n font-weight: 500;\n font-size: 1.2rem; }\n .content-container .body-sub-title {\n color: rgba(58, 53, 65, 0.6);\n font-weight: 400;\n font-size: 0.8rem; }\n\n.content-card {\n background-color: #ffffff;\n border-radius: 10px;\n width: 100%; }\n .content-card .action-bar {\n padding: 1.6rem 1.3rem 1.6rem 1.3rem; }\n .content-card .action-bar button {\n width: fit-content; }\n .content-card .filter-section {\n padding: 1.4rem 1.3rem 1.6rem 1.3rem;\n display: flex;\n width: 100%;\n flex-direction: row;\n align-items: center;\n justify-content: end; }\n .content-card .filter-section .search-bar {\n display: flex;\n flex-direction: row-reverse; }\n .content-card .filter-section .filter-bar {\n display: flex;\n flex-direction: row-reverse;\n margin-top: 0.8rem;\n width: 5%; }\n .content-card .filter-section .ant-input-affix-wrapper {\n border-radius: 0.313rem 0 0 0.313rem !important; }\n .content-card .filter-section .ant-input-search\n> .ant-input-group\n> .ant-input-group-addon:last-child\n.ant-input-search-button {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0 0.313rem 0.313rem 0 !important; }\n\n.layout-content-container .ant-btn {\n min-width: 50px !important; }\n\n.table-actions-section {\n width: 100%;\n margin-bottom: 1rem; }\n\n.action-menu {\n min-width: 120px;\n color: rgba(58, 53, 65, 0.6); }\n .action-menu .action-icon {\n margin-right: 12px;\n display: flex; }\n .action-menu .anticon-edit {\n color: #16b1ff; }\n .action-menu .anticon-delete {\n color: #f25a29; }\n\n.ant-dropdown-menu {\n padding: 1rem 2rem 1rem 1rem !important;\n border-radius: 5px; }\n\n.ant-dropdown-menu-item-active {\n background-color: transparent !important; }\n\n.ant-popover-inner-content .action-menu {\n margin: -12px -16px; }\n .ant-popover-inner-content .action-menu .ant-list-item {\n padding: 11px 16px;\n justify-content: flex-start;\n cursor: pointer; }\n\n.ant-tag {\n border-radius: 20px; }\n\n.clickable {\n cursor: pointer; }\n\n.text-center {\n text-align: center; }\n\n.float-left {\n float: left; }\n\n.float-right {\n float: right; }\n\n.apexcharts-canvas {\n font-family: \"Inter\" !important; }\n\n.apexcharts-legend-text {\n font-family: \"Inter\" !important; }\n\n.ant-tag {\n padding: 1px 10px; }\n\n.flex-display {\n display: flex; }\n\n.ant-modal-footer {\n border-top: none;\n text-align: center; }\n .ant-modal-footer button {\n margin: 10px 20px;\n text-transform: uppercase;\n font-size: 0.8rem; }\n\n.ant-modal-header {\n border-radius: 15px;\n border: none; }\n\n.ant-modal-content {\n border-radius: 15px;\n border: none; }\n\n.ant-modal-header {\n border: none; }\n\n.ant-modal-body {\n text-align: center;\n color: rgba(58, 53, 65, 0.6);\n font-size: 0.8rem; }\n .ant-modal-body .ant-select-selector {\n text-align: left;\n border-radius: 5px !important;\n height: 32px; }\n .ant-modal-body .form-label {\n text-align: left; }\n .ant-modal-body .form-label .req-ast {\n color: rgba(255, 77, 79, 0.8);\n padding-left: 5px; }\n .ant-modal-body .ant-form .ant-input-password {\n padding: 6.5px 11px;\n font-size: 16px; }\n .ant-modal-body .ant-form .ant-form-item-explain-error {\n text-align: start; }\n\n.popup-header {\n text-align: center;\n color: rgba(58, 53, 65, 0.8);\n font-weight: 600;\n font-family: \"Inter\";\n font-size: 0.9rem;\n margin: 25px 20px -20px 20px; }\n .popup-header .icon {\n font-size: 4rem;\n margin-bottom: 15px;\n font-weight: 400; }\n .popup-header img {\n height: 100px; }\n\n.popup-success .icon {\n color: #5dc380; }\n\n.popup-success .ant-btn-primary {\n background: #16b1ff;\n border-radius: #16b1ff;\n border: none; }\n\n.popup-success .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.popup-success .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-primary .icon {\n color: #16b1ff; }\n\n.popup-primary .ant-btn-primary {\n background: #16b1ff;\n border-radius: #16b1ff;\n border: none; }\n\n.popup-primary .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.popup-primary .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-danger .icon {\n color: rgba(255, 77, 79, 0.8); }\n\n.popup-danger .ant-btn-primary {\n background: rgba(255, 77, 79, 0.8);\n border-radius: rgba(255, 77, 79, 0.8);\n border: none; }\n\n.popup-danger .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-danger .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.ant-modal-footer .ant-btn {\n height: 32px;\n border-radius: 4px;\n padding: 6px 16px;\n font-weight: 500; }\n\n.ant-modal-footer .ant-btn-default {\n color: rgba(140, 140, 140, 0.7) !important;\n border-color: rgba(140, 140, 140, 0.7) !important; }\n\n.ant-tag-processing {\n color: #16b1ff;\n background: rgba(185, 226, 244, 0.4); }\n\n.filter-section input {\n font-family: 'Inter';\n font-size: 0.8rem !important; }\n\n.pull-right {\n float: right; }\n\n.disabled {\n opacity: 0.5; }\n\n.mg-left-3 {\n margin-left: 3rem; }\n\n.mg-left-2 {\n margin-left: 2rem !important; }\n\n.mg-left-1 {\n margin-left: 1rem; }\n\n.mg-top-1 {\n margin-top: 1rem; }\n\n.mg-top-2 {\n margin-top: 2rem; }\n\n.mg-bottom-1 {\n margin-bottom: 1rem !important; }\n\n.transfer-form {\n padding: 0px 15px;\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form .popup-credit-input .ant-form-item-explain-error {\n width: 200px; }\n .transfer-form .ant-row {\n align-items: unset; }\n .transfer-form .sub-text {\n margin-bottom: 35px;\n font-size: 0.9rem;\n font-weight: 500; }\n .transfer-form .label {\n text-align: left;\n font-size: 0.9rem;\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form .seperator {\n font-size: 1.2rem;\n color: #d9d9d9; }\n .transfer-form .footer {\n margin-bottom: 0px;\n margin-top: 15px; }\n .transfer-form label {\n font-size: 0.8rem; }\n .transfer-form .ant-radio-wrapper {\n font-size: 0.9rem; }\n .transfer-form input {\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form button {\n text-transform: uppercase;\n font-weight: 500; }\n\n.color-error {\n color: rgba(255, 77, 79, 0.8); }\n\n.color-primary {\n color: #16b1ff; }\n\n.ant-input-number-input {\n text-align: right; }\n\n.text-left {\n text-align: left; }\n\n.ant-form-item .ant-radio-group {\n text-align: left; }\n\n.loading-center {\n margin: auto;\n text-align: center;\n position: absolute;\n top: 50%;\n left: 50%; }\n\n.ant-tag-purple {\n color: #976ed7; }\n\n.ant-tag-orange {\n color: #ff8f56; }\n\n.ant-tag-default {\n color: rgba(58, 53, 65, 0.5); }\n\n.ant-popover-inner {\n border-radius: 4px; }\n\n.ant-input-number {\n border-radius: 5px; }\n\n.ret-icon {\n background-color: rgba(254, 241, 173, 0.5);\n color: #ff8f56; }\n\n.flag-ret-icon {\n display: flex !important;\n background-color: #f4f5fa;\n font-size: 1.1rem !important;\n padding: 7px; }\n\n.b-icon {\n vertical-align: middle; }\n\n.ant-message-notice-content {\n padding: 0px;\n border-radius: 5px; }\n .ant-message-notice-content .ant-message-custom-content {\n font-size: 0.8rem;\n border-radius: 5px;\n padding: 17px 24px; }\n .ant-message-notice-content .ant-message-error {\n color: rgba(255, 77, 79, 0.8);\n border: 1px solid rgba(255, 77, 79, 0.8); }\n .ant-message-notice-content .ant-message-success {\n color: #5bce00;\n border: 1px solid #5bce00; }\n\n.ant-select-selection-item {\n color: rgba(58, 53, 65, 0.6); }\n\n.sub-text {\n font-size: 0.9rem;\n font-weight: 500; }\n\n.search-filter {\n margin-right: 15px; }\n\n.mg-bottom-0 {\n margin-bottom: 0px; }\n\n.padding-bottom-0 {\n padding-bottom: 0px; }\n\n.ellipsis-overflow {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical; }\n\n.nextline-overflow {\n overflow-wrap: break-word; }\n\n.ant-message {\n width: 50%;\n right: 0px;\n left: auto;\n min-width: 400px; }\n";
890
+ var css_248z$p = "body {\n background-color: #f4f5fa;\n font-family: \"Inter\";\n font-weight: 400; }\n\n.ant-menu {\n background-color: #f4f5fa; }\n\n.ant-layout-header {\n background-color: #f4f5fa; }\n\n.ant-layout {\n background-color: #f4f5fa; }\n\n.ant-menu-submenu .ant-menu {\n background-color: #f4f5fa; }\n\n.ant-menu-item {\n background-color: #f4f5fa; }\n\n.ant-menu-sub {\n background-color: #f4f5fa; }\n\n.ant-table-content {\n font-family: \"Inter\"; }\n\n.ant-input {\n border-radius: 5px !important; }\n\n.ant-btn {\n border-radius: 5px !important; }\n\n.ant-input-group-addon:first-child {\n border-radius: 5px !important; }\n\n.ant-input-group .ant-input {\n width: 99% !important; }\n\n.ant-tooltip-inner {\n border-radius: 5px !important;\n background-color: #16b1ff !important; }\n\n.ant-tooltip-arrow-content {\n --antd-arrow-background-color: linear-gradient(to right bottom, #16b1ff, #16b1ff) !important; }\n\n.ant-radio-group {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between; }\n\n.ant-radio-group-large .ant-radio-button-wrapper {\n font-size: 0.8rem;\n width: 25%;\n border-radius: 5px !important; }\n\n.ant-upload-list-picture .ant-upload-list-item-error,\n.ant-upload-list-picture-card .ant-upload-list-item-error {\n border-color: #40a9ff;\n border-radius: 5px;\n height: 40px; }\n .ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-name,\n .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-name {\n color: #40a9ff !important; }\n\n.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {\n color: #40a9ff; }\n\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover {\n border-color: #d9d9d9 !important; }\n\n.ant-input-group-wrapper-status-error .ant-input-group-addon {\n border-color: #d9d9d9 !important; }\n\n.ant-form-item-explain-error {\n font-size: 13px;\n color: rgba(255, 77, 79, 0.8); }\n\n.ant-table-thead\n> tr\n> th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {\n background-color: transparent !important; }\n\n.ant-form-item-label > label {\n flex-direction: row-reverse !important;\n color: rgba(58, 53, 65, 0.5); }\n\n.ant-form-item-label\n> label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {\n margin-left: 0.2rem !important;\n color: rgba(255, 77, 79, 0.8) !important; }\n\n.ant-picker {\n border-radius: 5px !important;\n height: 35px !important; }\n\n.PhoneInput .PhoneInputCountry {\n border: 1px solid #d9d9d9 !important;\n border-radius: 5px !important;\n padding: 0 1rem 0 1rem; }\n\n.PhoneInput .PhoneInputInput {\n flex: 1 1;\n min-width: 0;\n border-radius: 5px !important;\n height: 40px;\n border: 1px solid #d9d9d9 !important;\n outline: none; }\n\n.filter-title {\n color: rgba(58, 53, 65, 0.8);\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 0.875rem; }\n\n.ant-radio-wrapper {\n font-family: 'Inter';\n font-style: normal;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 22px;\n color: rgba(58, 53, 65, 0.8); }\n\n.ant-list-item {\n color: rgba(58, 53, 65, 0.8); }\n\n.PhoneInput .PhoneInputInput:focus-visible,\n.PhoneInput .PhoneInputInput:hover {\n flex: 1 1;\n min-width: 0;\n border-radius: 5px !important;\n height: 40px;\n border-right: 1px solid #40a9ff !important;\n outline: 1px solid #40a9ff; }\n\n.layout-content-container {\n padding-bottom: 100px; }\n .layout-content-container .ant-btn-primary {\n background-color: #16b1ff;\n color: #ffffff;\n border: none; }\n .layout-content-container .ant-btn {\n height: 32px;\n font-weight: 500;\n font-size: 0.8rem;\n border-radius: 0.3rem;\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.25);\n min-width: 80px;\n box-shadow: none; }\n .layout-content-container .ant-btn span {\n text-transform: uppercase; }\n\n.content-container {\n padding: 0px 20px; }\n .content-container .title-bar {\n padding: 0px 0px 30px 0px; }\n .content-container .body-title {\n color: #16b1ff;\n font-weight: 500;\n font-size: 1.2rem; }\n .content-container .body-sub-title {\n color: rgba(58, 53, 65, 0.6);\n font-weight: 400;\n font-size: 0.8rem; }\n\n.content-card {\n background-color: #ffffff;\n border-radius: 10px;\n width: 100%; }\n .content-card .action-bar {\n padding: 1.6rem 1.3rem 1.6rem 1.3rem; }\n .content-card .action-bar button {\n width: fit-content; }\n .content-card .filter-section {\n padding: 1.4rem 1.3rem 1.6rem 1.3rem;\n display: flex;\n width: 100%;\n flex-direction: row;\n align-items: center;\n justify-content: end; }\n .content-card .filter-section .search-bar {\n display: flex;\n flex-direction: row-reverse; }\n .content-card .filter-section .filter-bar {\n display: flex;\n flex-direction: row-reverse;\n margin-top: 0.8rem;\n width: 5%; }\n .content-card .filter-section .ant-input-affix-wrapper {\n border-radius: 0.313rem 0 0 0.313rem !important; }\n .content-card .filter-section .ant-input-search\n> .ant-input-group\n> .ant-input-group-addon:last-child\n.ant-input-search-button {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0 0.313rem 0.313rem 0 !important; }\n\n.layout-content-container .ant-btn {\n min-width: 50px !important; }\n\n.table-actions-section {\n width: 100%;\n margin-bottom: 1rem; }\n\n.action-menu {\n min-width: 120px;\n color: rgba(58, 53, 65, 0.6); }\n .action-menu .action-icon {\n margin-right: 12px;\n display: flex; }\n .action-menu .anticon-edit {\n color: #16b1ff; }\n .action-menu .anticon-delete {\n color: #f25a29; }\n\n.ant-dropdown-menu {\n padding: 1rem 2rem 1rem 1rem !important;\n border-radius: 5px; }\n\n.ant-dropdown-menu-item-active {\n background-color: transparent !important; }\n\n.ant-popover-inner-content .action-menu {\n margin: -12px -16px; }\n .ant-popover-inner-content .action-menu .ant-list-item {\n padding: 11px 16px;\n justify-content: flex-start;\n cursor: pointer; }\n\n.ant-tag {\n border-radius: 20px; }\n\n.clickable {\n cursor: pointer; }\n\n.text-center {\n text-align: center; }\n\n.float-left {\n float: left; }\n\n.float-right {\n float: right; }\n\n.apexcharts-canvas {\n font-family: \"Inter\" !important; }\n\n.apexcharts-legend-text {\n font-family: \"Inter\" !important; }\n\n.ant-tag {\n padding: 1px 10px; }\n\n.flex-display {\n display: flex; }\n\n.ant-modal-footer {\n border-top: none;\n text-align: center; }\n .ant-modal-footer button {\n margin: 10px 20px;\n text-transform: uppercase;\n font-size: 0.8rem; }\n\n.ant-modal-header {\n border-radius: 15px;\n border: none; }\n\n.ant-modal-content {\n border-radius: 15px;\n border: none; }\n\n.ant-modal-header {\n border: none; }\n\n.ant-modal-body {\n text-align: center;\n color: rgba(58, 53, 65, 0.6);\n font-size: 0.8rem; }\n .ant-modal-body .ant-select-selector {\n text-align: left;\n border-radius: 5px !important;\n height: 32px; }\n .ant-modal-body .form-label {\n text-align: left; }\n .ant-modal-body .form-label .req-ast {\n color: rgba(255, 77, 79, 0.8);\n padding-left: 5px; }\n .ant-modal-body .ant-form .ant-input-password {\n padding: 6.5px 11px;\n font-size: 16px; }\n .ant-modal-body .ant-form .ant-form-item-explain-error {\n text-align: start; }\n\n.popup-header {\n text-align: center;\n color: rgba(58, 53, 65, 0.8);\n font-weight: 600;\n font-family: \"Inter\";\n font-size: 0.9rem;\n margin: 25px 20px -20px 20px; }\n .popup-header .icon {\n font-size: 4rem;\n margin-bottom: 15px;\n font-weight: 400; }\n .popup-header img {\n height: 100px; }\n\n.popup-success .icon {\n color: #5dc380; }\n\n.popup-success .ant-btn-primary {\n background: #16b1ff;\n border-radius: #16b1ff;\n border: none; }\n\n.popup-success .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.popup-success .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-primary .icon {\n color: #16b1ff; }\n\n.popup-primary .ant-btn-primary {\n background: #16b1ff;\n border-radius: #16b1ff;\n border: none; }\n\n.popup-primary .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.popup-primary .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-danger .icon {\n color: rgba(255, 77, 79, 0.8); }\n\n.popup-danger .ant-btn-primary {\n background: rgba(255, 77, 79, 0.8);\n border-radius: rgba(255, 77, 79, 0.8);\n border: none; }\n\n.popup-danger .ant-btn-primary[disabled] {\n border-color: #d9d9d9;\n background: #f5f5f5; }\n\n.popup-danger .ant-btn-default {\n color: rgba(58, 53, 65, 0.6);\n border-color: rgba(58, 53, 65, 0.6); }\n\n.ant-modal-footer .ant-btn {\n height: 32px;\n border-radius: 4px;\n padding: 6px 16px;\n font-weight: 500; }\n\n.ant-modal-footer .ant-btn-default {\n color: rgba(140, 140, 140, 0.7) !important;\n border-color: rgba(140, 140, 140, 0.7) !important; }\n\n.ant-tag-processing {\n color: #16b1ff;\n background: rgba(185, 226, 244, 0.4); }\n\n.filter-section input {\n font-family: 'Inter';\n font-size: 0.8rem !important; }\n\n.pull-right {\n float: right; }\n\n.disabled {\n opacity: 0.5; }\n\n.mg-left-3 {\n margin-left: 3rem; }\n\n.mg-left-2 {\n margin-left: 2rem !important; }\n\n.mg-left-1 {\n margin-left: 1rem; }\n\n.mg-top-1 {\n margin-top: 1rem; }\n\n.mg-top-2 {\n margin-top: 2rem; }\n\n.mg-bottom-1 {\n margin-bottom: 1rem !important; }\n\n.transfer-form {\n padding: 0px 15px;\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form .popup-credit-input .ant-form-item-explain-error {\n width: 200px; }\n .transfer-form .ant-row {\n align-items: unset; }\n .transfer-form .sub-text {\n margin-bottom: 35px;\n font-size: 0.9rem;\n font-weight: 500; }\n .transfer-form .label {\n text-align: left;\n font-size: 0.9rem;\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form .seperator {\n font-size: 1.2rem;\n color: #d9d9d9; }\n .transfer-form .footer {\n margin-bottom: 0px;\n margin-top: 15px; }\n .transfer-form label {\n font-size: 0.8rem; }\n .transfer-form .ant-radio-wrapper {\n font-size: 0.9rem; }\n .transfer-form input {\n color: rgba(58, 53, 65, 0.6); }\n .transfer-form button {\n text-transform: uppercase;\n font-weight: 500; }\n\n.color-error {\n color: rgba(255, 77, 79, 0.8); }\n\n.color-primary {\n color: #16b1ff; }\n\n.ant-input-number-input {\n text-align: right; }\n\n.text-left {\n text-align: left; }\n\n.ant-form-item .ant-radio-group {\n text-align: left; }\n\n.loading-center {\n margin: auto;\n text-align: center;\n position: absolute;\n top: 50%;\n left: 50%; }\n\n.ant-tag-purple {\n color: #976ed7; }\n\n.ant-tag-orange {\n color: #ff8f56; }\n\n.ant-tag-default {\n color: rgba(58, 53, 65, 0.5); }\n\n.ant-popover-inner {\n border-radius: 4px; }\n\n.ant-input-number {\n border-radius: 5px; }\n\n.ret-icon {\n background-color: rgba(254, 241, 173, 0.5);\n color: #ff8f56; }\n\n.flag-ret-icon {\n display: flex !important;\n background-color: #f4f5fa;\n font-size: 1.1rem !important;\n padding: 7px; }\n\n.b-icon {\n vertical-align: middle; }\n\n.ant-message-notice-content {\n padding: 0px;\n border-radius: 5px; }\n .ant-message-notice-content .ant-message-custom-content {\n font-size: 0.8rem;\n border-radius: 5px;\n padding: 17px 24px; }\n .ant-message-notice-content .ant-message-error {\n color: rgba(255, 77, 79, 0.8);\n border: 1px solid rgba(255, 77, 79, 0.8); }\n .ant-message-notice-content .ant-message-success {\n color: #5bce00;\n border: 1px solid #5bce00; }\n\n.ant-select-selection-item {\n color: rgba(58, 53, 65, 0.6); }\n\n.sub-text {\n font-size: 0.9rem;\n font-weight: 500; }\n\n.search-filter {\n margin-right: 15px; }\n\n.download-data-btn {\n margin-left: 15px; }\n\n.mg-bottom-0 {\n margin-bottom: 0px; }\n\n.padding-bottom-0 {\n padding-bottom: 0px; }\n\n.ellipsis-overflow {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical; }\n\n.nextline-overflow {\n overflow-wrap: break-word; }\n\n.ant-message {\n width: 50%;\n right: 0px;\n left: auto;\n min-width: 400px; }\n";
841
891
  styleInject(css_248z$p);
842
892
 
843
893
  var UserManagementColumns;
@@ -5715,14 +5765,15 @@ var ProgrammeManagementComponent = function (props) {
5715
5765
  var _p = useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
5716
5766
  var userInfoState = useUserContext().userInfoState;
5717
5767
  var ability = useAbilityContext();
5768
+ var _q = useState(), dataQuery = _q[0], setDataQuery = _q[1];
5718
5769
  var stageObject = enableAddProgramme ? ProgrammeStageMRV : ProgrammeStageR;
5719
5770
  var statusOptions = Object.keys(stageObject).map(function (k, index) { return ({
5720
5771
  label: Object.values(stageObject)[index],
5721
5772
  value: k,
5722
5773
  }); });
5723
- var _q = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
5724
- var _r = useState(false), indeterminate = _r[0], setIndeterminate = _r[1];
5725
- var _s = useState(true), checkAll = _s[0], setCheckAll = _s[1];
5774
+ var _r = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
5775
+ var _s = useState(false), indeterminate = _s[0], setIndeterminate = _s[1];
5776
+ var _t = useState(true), checkAll = _t[0], setCheckAll = _t[1];
5726
5777
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
5727
5778
  return __generator(this, function (_a) {
5728
5779
  console.log(checkedValues);
@@ -5965,6 +6016,11 @@ var ProgrammeManagementComponent = function (props) {
5965
6016
  setTableData(response.data);
5966
6017
  setTotalProgramme(response.response.data.total);
5967
6018
  setLoading(false);
6019
+ setDataQuery({
6020
+ filterAnd: filter,
6021
+ filterOr: (filterOr === null || filterOr === void 0 ? void 0 : filterOr.length) > 0 ? filterOr : undefined,
6022
+ sort: sort,
6023
+ });
5968
6024
  return [3 /*break*/, 4];
5969
6025
  case 3:
5970
6026
  error_1 = _a.sent();
@@ -6022,6 +6078,44 @@ var ProgrammeManagementComponent = function (props) {
6022
6078
  }
6023
6079
  });
6024
6080
  }); };
6081
+ var downloadProgrammeData = function () { return __awaiter(void 0, void 0, void 0, function () {
6082
+ var response, url, a, error_3;
6083
+ var _a;
6084
+ return __generator(this, function (_b) {
6085
+ switch (_b.label) {
6086
+ case 0:
6087
+ setLoading(true);
6088
+ _b.label = 1;
6089
+ case 1:
6090
+ _b.trys.push([1, 3, , 4]);
6091
+ return [4 /*yield*/, post("national/programme/download", {
6092
+ filterAnd: dataQuery.filterAnd,
6093
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
6094
+ sort: dataQuery.sort,
6095
+ })];
6096
+ case 2:
6097
+ response = _b.sent();
6098
+ if (response && response.data) {
6099
+ url = response.data.url;
6100
+ a = document.createElement('a');
6101
+ a.href = url;
6102
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
6103
+ document.body.appendChild(a);
6104
+ a.click();
6105
+ document.body.removeChild(a); // Clean up the created <a> element
6106
+ window.URL.revokeObjectURL(url);
6107
+ }
6108
+ setLoading(false);
6109
+ return [3 /*break*/, 4];
6110
+ case 3:
6111
+ error_3 = _b.sent();
6112
+ console.log("Error in downloading programme data", error_3);
6113
+ setLoading(false);
6114
+ return [3 /*break*/, 4];
6115
+ case 4: return [2 /*return*/];
6116
+ }
6117
+ });
6118
+ }); };
6025
6119
  var onSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
6026
6120
  return __generator(this, function (_a) {
6027
6121
  setSearch(searchText);
@@ -6110,7 +6204,10 @@ var ProgrammeManagementComponent = function (props) {
6110
6204
  return e.target.value === ""
6111
6205
  ? setSearch(e.target.value)
6112
6206
  : setSearchText(e.target.value);
6113
- }, onSearch: setSearch, style: { width: 265 } }))))),
6207
+ }, onSearch: setSearch, style: { width: 265 } })),
6208
+ React.createElement("div", { className: "download-data-btn" },
6209
+ React.createElement("a", { onClick: downloadProgrammeData },
6210
+ React.createElement(DownloadOutlined, null)))))),
6114
6211
  React.createElement(Row, null,
6115
6212
  React.createElement(Col, { span: 24 },
6116
6213
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -13458,6 +13555,7 @@ var UserManagementComponent = function (props) {
13458
13555
  var _r = useState({}), actionInfo = _r[0], setActionInfo = _r[1];
13459
13556
  var _s = useState(""), errorMsg = _s[0], setErrorMsg = _s[1];
13460
13557
  var _t = useState(false), openDeleteConfirmationModal = _t[0], setOpenDeleteConfirmationModal = _t[1];
13558
+ var _u = useState(), dataQuery = _u[0], setDataQuery = _u[1];
13461
13559
  var ability = useAbilityContext();
13462
13560
  document.addEventListener("mousedown", function (event) {
13463
13561
  var userFilterArea1 = document.querySelector(".filter-bar");
@@ -13813,6 +13911,11 @@ var UserManagementComponent = function (props) {
13813
13911
  setTableData(availableUsers);
13814
13912
  setTotalUser((_b = (_a = response === null || response === void 0 ? void 0 : response.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.total);
13815
13913
  }
13914
+ setDataQuery({
13915
+ filterAnd: filterAnd(),
13916
+ filterOr: filterOr(),
13917
+ sort: sort(),
13918
+ });
13816
13919
  setLoading(false);
13817
13920
  return [3 /*break*/, 4];
13818
13921
  case 3:
@@ -13830,6 +13933,44 @@ var UserManagementComponent = function (props) {
13830
13933
  }
13831
13934
  });
13832
13935
  }); };
13936
+ var downloadUserData = function () { return __awaiter(void 0, void 0, void 0, function () {
13937
+ var response, url, a, error_3;
13938
+ var _a;
13939
+ return __generator(this, function (_b) {
13940
+ switch (_b.label) {
13941
+ case 0:
13942
+ setLoading(true);
13943
+ _b.label = 1;
13944
+ case 1:
13945
+ _b.trys.push([1, 3, , 4]);
13946
+ return [4 /*yield*/, post("national/user/download", {
13947
+ filterAnd: dataQuery.filterAnd,
13948
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
13949
+ sort: dataQuery.sort,
13950
+ })];
13951
+ case 2:
13952
+ response = _b.sent();
13953
+ if (response && response.data) {
13954
+ url = response.data.url;
13955
+ a = document.createElement('a');
13956
+ a.href = url;
13957
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
13958
+ document.body.appendChild(a);
13959
+ a.click();
13960
+ document.body.removeChild(a); // Clean up the created <a> element
13961
+ window.URL.revokeObjectURL(url);
13962
+ }
13963
+ setLoading(false);
13964
+ return [3 /*break*/, 4];
13965
+ case 3:
13966
+ error_3 = _b.sent();
13967
+ console.log("Error in downloading user data", error_3);
13968
+ setLoading(false);
13969
+ return [3 /*break*/, 4];
13970
+ case 4: return [2 /*return*/];
13971
+ }
13972
+ });
13973
+ }); };
13833
13974
  useEffect(function () {
13834
13975
  getAllUser();
13835
13976
  }, [
@@ -13952,7 +14093,13 @@ var UserManagementComponent = function (props) {
13952
14093
  React.createElement(FilterOutlined, { style: {
13953
14094
  color: "rgba(58, 53, 65, 0.3)",
13954
14095
  fontSize: "20px",
13955
- } }))))))),
14096
+ } })))),
14097
+ React.createElement("div", { className: "download-data-btn" },
14098
+ React.createElement("a", { onClick: downloadUserData },
14099
+ React.createElement(DownloadOutlined, { style: {
14100
+ color: "rgba(58, 53, 65, 0.3)",
14101
+ fontSize: "20px",
14102
+ } })))))),
13956
14103
  React.createElement(Row, null,
13957
14104
  React.createElement(Col, { span: 24 },
13958
14105
  React.createElement("div", { className: "userManagement-table-container" },
@@ -14569,6 +14716,7 @@ var InvestmentManagementComponent = function (props) {
14569
14716
  var _u = useSettingsContext(), isTransferFrozen = _u.isTransferFrozen; _u.setTransferFrozen;
14570
14717
  var _v = useState([]), ministrySectoralScope = _v[0], setMinistrySectoralScope = _v[1];
14571
14718
  var _w = useState(false), ministryLevelFilter = _w[0], setMinistryLevelFilter = _w[1];
14719
+ var _x = useState(), dataQuery = _x[0], setDataQuery = _x[1];
14572
14720
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
14573
14721
  return __generator(this, function (_a) {
14574
14722
  console.log(checkedValues);
@@ -14665,6 +14813,12 @@ var InvestmentManagementComponent = function (props) {
14665
14813
  console.log(response);
14666
14814
  setTableData(response.data);
14667
14815
  setTotalProgramme(response.response.data.total);
14816
+ setDataQuery({
14817
+ filterAnd: filter,
14818
+ filterOr: dataFilter,
14819
+ sort: sort,
14820
+ filterBy: filterBy,
14821
+ });
14668
14822
  setLoading(false);
14669
14823
  return [3 /*break*/, 4];
14670
14824
  case 3:
@@ -14682,8 +14836,47 @@ var InvestmentManagementComponent = function (props) {
14682
14836
  }
14683
14837
  });
14684
14838
  }); };
14839
+ var downloadInvestmentData = function () { return __awaiter(void 0, void 0, void 0, function () {
14840
+ var response, url, a, error_2;
14841
+ var _a;
14842
+ return __generator(this, function (_b) {
14843
+ switch (_b.label) {
14844
+ case 0:
14845
+ setLoading(true);
14846
+ _b.label = 1;
14847
+ case 1:
14848
+ _b.trys.push([1, 3, , 4]);
14849
+ return [4 /*yield*/, post("national/programme/investments/download", {
14850
+ filterAnd: dataQuery.filterAnd,
14851
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
14852
+ sort: dataQuery.sort,
14853
+ filterBy: dataQuery.filterBy,
14854
+ })];
14855
+ case 2:
14856
+ response = _b.sent();
14857
+ if (response && response.data) {
14858
+ url = response.data.url;
14859
+ a = document.createElement('a');
14860
+ a.href = url;
14861
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
14862
+ document.body.appendChild(a);
14863
+ a.click();
14864
+ document.body.removeChild(a); // Clean up the created <a> element
14865
+ window.URL.revokeObjectURL(url);
14866
+ }
14867
+ setLoading(false);
14868
+ return [3 /*break*/, 4];
14869
+ case 3:
14870
+ error_2 = _b.sent();
14871
+ console.log("Error in downloading investment data", error_2);
14872
+ setLoading(false);
14873
+ return [3 /*break*/, 4];
14874
+ case 4: return [2 /*return*/];
14875
+ }
14876
+ });
14877
+ }); };
14685
14878
  var getUserDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
14686
- var response, error_2;
14879
+ var response, error_3;
14687
14880
  var _a, _b, _c, _d, _e, _f;
14688
14881
  return __generator(this, function (_g) {
14689
14882
  switch (_g.label) {
@@ -14715,8 +14908,8 @@ var InvestmentManagementComponent = function (props) {
14715
14908
  setLoading(false);
14716
14909
  return [3 /*break*/, 4];
14717
14910
  case 3:
14718
- error_2 = _g.sent();
14719
- console.log("Error in getting users", error_2);
14911
+ error_3 = _g.sent();
14912
+ console.log("Error in getting users", error_3);
14720
14913
  setLoading(false);
14721
14914
  return [3 /*break*/, 4];
14722
14915
  case 4: return [2 /*return*/];
@@ -14747,7 +14940,7 @@ var InvestmentManagementComponent = function (props) {
14747
14940
  ministryLevelFilter,
14748
14941
  ]);
14749
14942
  var handleRequestOk = function (reqId, remarks, endpoint, successText, isRetire) { return __awaiter(void 0, void 0, void 0, function () {
14750
- var response, successMsg, error_3;
14943
+ var response, successMsg, error_4;
14751
14944
  return __generator(this, function (_a) {
14752
14945
  switch (_a.label) {
14753
14946
  case 0:
@@ -14777,10 +14970,10 @@ var InvestmentManagementComponent = function (props) {
14777
14970
  setModalVisible(false);
14778
14971
  return [3 /*break*/, 4];
14779
14972
  case 3:
14780
- error_3 = _a.sent();
14781
- console.log("Error in Cancelling transfer request", error_3);
14973
+ error_4 = _a.sent();
14974
+ console.log("Error in Cancelling transfer request", error_4);
14782
14975
  setLoading(false);
14783
- return [2 /*return*/, error_3.message];
14976
+ return [2 /*return*/, error_4.message];
14784
14977
  case 4: return [2 /*return*/];
14785
14978
  }
14786
14979
  });
@@ -15045,7 +15238,13 @@ var InvestmentManagementComponent = function (props) {
15045
15238
  return e.target.value === ""
15046
15239
  ? setSearch(e.target.value)
15047
15240
  : setSearchText(e.target.value);
15048
- }, onSearch: setSearch, style: { width: 265 } }))))),
15241
+ }, onSearch: setSearch, style: { width: 265 } })),
15242
+ React.createElement("div", { className: "download-data-btn" },
15243
+ React.createElement("a", { onClick: downloadInvestmentData },
15244
+ React.createElement(DownloadOutlined, { style: {
15245
+ color: "rgba(58, 53, 65, 0.3)",
15246
+ fontSize: "20px",
15247
+ } })))))),
15049
15248
  React.createElement(Row, null,
15050
15249
  React.createElement(Col, { span: 24 },
15051
15250
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -15088,6 +15287,7 @@ var NdcActionManagementComponent = function (props) {
15088
15287
  var _m = useState(), dataFilter = _m[0]; _m[1];
15089
15288
  var _o = useState([]), ministrySectoralScope = _o[0], setMinistrySectoralScope = _o[1];
15090
15289
  var _p = useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
15290
+ var _q = useState(), dataQuery = _q[0], setDataQuery = _q[1];
15091
15291
  var Search = Input.Search;
15092
15292
  var post = useConnection().post;
15093
15293
  var userInfoState = useUserContext().userInfoState;
@@ -15095,7 +15295,7 @@ var NdcActionManagementComponent = function (props) {
15095
15295
  label: addSpaces(Object.values(NdcActionStatus)[index]),
15096
15296
  value: Object.values(NdcActionStatus)[index],
15097
15297
  }); });
15098
- var _q = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
15298
+ var _r = useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
15099
15299
  var getNdcActionNames = function (action) {
15100
15300
  switch (action) {
15101
15301
  case NdcActionTypes.Adaptation:
@@ -15277,6 +15477,11 @@ var NdcActionManagementComponent = function (props) {
15277
15477
  response = _a.sent();
15278
15478
  setTableData(response.data);
15279
15479
  setTotalProgramme(response.response.data.total);
15480
+ setDataQuery({
15481
+ filterAnd: filter,
15482
+ filterBy: filterBy,
15483
+ sort: sort,
15484
+ });
15280
15485
  setLoading(false);
15281
15486
  return [3 /*break*/, 4];
15282
15487
  case 3:
@@ -15335,6 +15540,43 @@ var NdcActionManagementComponent = function (props) {
15335
15540
  }
15336
15541
  });
15337
15542
  }); };
15543
+ var downloadNdcData = function () { return __awaiter(void 0, void 0, void 0, function () {
15544
+ var response, url, a, error_3;
15545
+ return __generator(this, function (_a) {
15546
+ switch (_a.label) {
15547
+ case 0:
15548
+ setLoading(true);
15549
+ _a.label = 1;
15550
+ case 1:
15551
+ _a.trys.push([1, 3, , 4]);
15552
+ return [4 /*yield*/, post("national/programme/queryNdcActions/download", {
15553
+ filterAnd: dataQuery.filterAnd,
15554
+ filterBy: dataQuery.filterBy,
15555
+ sort: dataQuery.sort,
15556
+ })];
15557
+ case 2:
15558
+ response = _a.sent();
15559
+ if (response && response.data) {
15560
+ url = response.data.url;
15561
+ a = document.createElement('a');
15562
+ a.href = url;
15563
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
15564
+ document.body.appendChild(a);
15565
+ a.click();
15566
+ document.body.removeChild(a); // Clean up the created <a> element
15567
+ window.URL.revokeObjectURL(url);
15568
+ }
15569
+ setLoading(false);
15570
+ return [3 /*break*/, 4];
15571
+ case 3:
15572
+ error_3 = _a.sent();
15573
+ console.log("Error in downloading NDC Action data", error_3);
15574
+ setLoading(false);
15575
+ return [3 /*break*/, 4];
15576
+ case 4: return [2 /*return*/];
15577
+ }
15578
+ });
15579
+ }); };
15338
15580
  useEffect(function () {
15339
15581
  if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY) {
15340
15582
  getUserDetails();
@@ -15430,7 +15672,13 @@ var NdcActionManagementComponent = function (props) {
15430
15672
  return e.target.value === ""
15431
15673
  ? setSearch(e.target.value)
15432
15674
  : setSearchText(e.target.value);
15433
- }, onSearch: setSearch, style: { width: 265 } }))))),
15675
+ }, onSearch: setSearch, style: { width: 265 } })),
15676
+ React.createElement("div", { className: "download-data-btn" },
15677
+ React.createElement("a", { onClick: downloadNdcData },
15678
+ React.createElement(DownloadOutlined, { style: {
15679
+ color: "rgba(58, 53, 65, 0.3)",
15680
+ fontSize: "20px",
15681
+ } })))))),
15434
15682
  React.createElement(Row, null,
15435
15683
  React.createElement(Col, { span: 24 },
15436
15684
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -19216,6 +19464,11 @@ var CreditTransferComponent = function (props) {
19216
19464
  }); };
19217
19465
  Form.useForm()[0];
19218
19466
  var Search = Input.Search;
19467
+ var ministryLevelPermission = function (sectoralScope) {
19468
+ return ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.MINISTRY &&
19469
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== Role.ViewOnly &&
19470
+ ministrySectoralScope.includes(sectoralScope));
19471
+ };
19219
19472
  var onCheckAllChange = function (e) {
19220
19473
  var nw = e.target.checked ? statusOptions.map(function (el) { return el.value; }) : [];
19221
19474
  setSelectedStatus(nw);
@@ -19476,7 +19729,8 @@ var CreditTransferComponent = function (props) {
19476
19729
  ], renderItem: function (item) { return (React.createElement(List.Item, { onClick: item.click },
19477
19730
  React.createElement(Typography.Text, { className: "action-icon ".concat(item.style) }, item.icon),
19478
19731
  React.createElement("span", null, item.text))); } })) : record.isRetirement &&
19479
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ? (React.createElement(List, { className: "action-menu", size: "small", dataSource: [
19732
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === CompanyRole.GOVERNMENT ||
19733
+ ministryLevelPermission(record.programmeSectoralScope)) ? (React.createElement(List, { className: "action-menu", size: "small", dataSource: [
19480
19734
  {
19481
19735
  text: t("creditTransfer:recognise"),
19482
19736
  icon: React.createElement(Icon.Save, null),