@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/cjs/index.js CHANGED
@@ -524,6 +524,7 @@ var CompanyManagementComponent = function (props) {
524
524
  var _j = React.useState("All"), filterByOrganisationType = _j[0], setFilterByOrganisationType = _j[1];
525
525
  var _k = React.useState(""), sortOrder = _k[0], setSortOrder = _k[1];
526
526
  var _l = React.useState(""), sortField = _l[0], setSortField = _l[1];
527
+ var _m = React.useState(), dataQuery = _m[0], setDataQuery = _m[1];
527
528
  var ability = useAbilityContext();
528
529
  document.addEventListener("mousedown", function (event) {
529
530
  var organisationFilterArea1 = document.querySelector(".filter-bar");
@@ -729,6 +730,11 @@ var CompanyManagementComponent = function (props) {
729
730
  setTableData(availableCompanies);
730
731
  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);
731
732
  }
733
+ setDataQuery({
734
+ filterAnd: filterAnd(),
735
+ filterOr: filterOr(),
736
+ sort: sort(),
737
+ });
732
738
  setLoading(false);
733
739
  return [3 /*break*/, 4];
734
740
  case 3:
@@ -745,6 +751,44 @@ var CompanyManagementComponent = function (props) {
745
751
  }
746
752
  });
747
753
  }); };
754
+ var downloadCompanyData = function () { return __awaiter(void 0, void 0, void 0, function () {
755
+ var response, url, a, error_2;
756
+ var _a;
757
+ return __generator(this, function (_b) {
758
+ switch (_b.label) {
759
+ case 0:
760
+ setLoading(true);
761
+ _b.label = 1;
762
+ case 1:
763
+ _b.trys.push([1, 3, , 4]);
764
+ return [4 /*yield*/, post("national/organisation/download", {
765
+ filterAnd: dataQuery.filterAnd,
766
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
767
+ sort: dataQuery.sort,
768
+ })];
769
+ case 2:
770
+ response = _b.sent();
771
+ if (response && response.data) {
772
+ url = response.data.url;
773
+ a = document.createElement('a');
774
+ a.href = url;
775
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
776
+ document.body.appendChild(a);
777
+ a.click();
778
+ document.body.removeChild(a); // Clean up the created <a> element
779
+ window.URL.revokeObjectURL(url);
780
+ }
781
+ setLoading(false);
782
+ return [3 /*break*/, 4];
783
+ case 3:
784
+ error_2 = _b.sent();
785
+ console.log("Error in downloading company data", error_2);
786
+ setLoading(false);
787
+ return [3 /*break*/, 4];
788
+ case 4: return [2 /*return*/];
789
+ }
790
+ });
791
+ }); };
748
792
  React.useEffect(function () {
749
793
  getAllCompany();
750
794
  }, [
@@ -832,7 +876,13 @@ var CompanyManagementComponent = function (props) {
832
876
  React.createElement(icons.FilterOutlined, { style: {
833
877
  color: "rgba(58, 53, 65, 0.3)",
834
878
  fontSize: "20px",
835
- } }))))))),
879
+ } })))),
880
+ React.createElement("div", { className: "download-data-btn" },
881
+ React.createElement("a", { onClick: downloadCompanyData },
882
+ React.createElement(icons.DownloadOutlined, { style: {
883
+ color: "rgba(58, 53, 65, 0.3)",
884
+ fontSize: "20px",
885
+ } })))))),
836
886
  React.createElement(antd.Row, null,
837
887
  React.createElement(antd.Col, { span: 24 },
838
888
  React.createElement("div", { className: "userManagement-table-container" },
@@ -857,7 +907,7 @@ var CompanyManagementComponent = function (props) {
857
907
  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";
858
908
  styleInject(css_248z$q);
859
909
 
860
- 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";
910
+ 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";
861
911
  styleInject(css_248z$p);
862
912
 
863
913
  exports.UserManagementColumns = void 0;
@@ -5735,14 +5785,15 @@ var ProgrammeManagementComponent = function (props) {
5735
5785
  var _p = React.useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
5736
5786
  var userInfoState = useUserContext().userInfoState;
5737
5787
  var ability = useAbilityContext();
5788
+ var _q = React.useState(), dataQuery = _q[0], setDataQuery = _q[1];
5738
5789
  var stageObject = enableAddProgramme ? exports.ProgrammeStageMRV : exports.ProgrammeStageR;
5739
5790
  var statusOptions = Object.keys(stageObject).map(function (k, index) { return ({
5740
5791
  label: Object.values(stageObject)[index],
5741
5792
  value: k,
5742
5793
  }); });
5743
- var _q = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
5744
- var _r = React.useState(false), indeterminate = _r[0], setIndeterminate = _r[1];
5745
- var _s = React.useState(true), checkAll = _s[0], setCheckAll = _s[1];
5794
+ var _r = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
5795
+ var _s = React.useState(false), indeterminate = _s[0], setIndeterminate = _s[1];
5796
+ var _t = React.useState(true), checkAll = _t[0], setCheckAll = _t[1];
5746
5797
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
5747
5798
  return __generator(this, function (_a) {
5748
5799
  console.log(checkedValues);
@@ -5985,6 +6036,11 @@ var ProgrammeManagementComponent = function (props) {
5985
6036
  setTableData(response.data);
5986
6037
  setTotalProgramme(response.response.data.total);
5987
6038
  setLoading(false);
6039
+ setDataQuery({
6040
+ filterAnd: filter,
6041
+ filterOr: (filterOr === null || filterOr === void 0 ? void 0 : filterOr.length) > 0 ? filterOr : undefined,
6042
+ sort: sort,
6043
+ });
5988
6044
  return [3 /*break*/, 4];
5989
6045
  case 3:
5990
6046
  error_1 = _a.sent();
@@ -6042,6 +6098,44 @@ var ProgrammeManagementComponent = function (props) {
6042
6098
  }
6043
6099
  });
6044
6100
  }); };
6101
+ var downloadProgrammeData = function () { return __awaiter(void 0, void 0, void 0, function () {
6102
+ var response, url, a, error_3;
6103
+ var _a;
6104
+ return __generator(this, function (_b) {
6105
+ switch (_b.label) {
6106
+ case 0:
6107
+ setLoading(true);
6108
+ _b.label = 1;
6109
+ case 1:
6110
+ _b.trys.push([1, 3, , 4]);
6111
+ return [4 /*yield*/, post("national/programme/download", {
6112
+ filterAnd: dataQuery.filterAnd,
6113
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
6114
+ sort: dataQuery.sort,
6115
+ })];
6116
+ case 2:
6117
+ response = _b.sent();
6118
+ if (response && response.data) {
6119
+ url = response.data.url;
6120
+ a = document.createElement('a');
6121
+ a.href = url;
6122
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
6123
+ document.body.appendChild(a);
6124
+ a.click();
6125
+ document.body.removeChild(a); // Clean up the created <a> element
6126
+ window.URL.revokeObjectURL(url);
6127
+ }
6128
+ setLoading(false);
6129
+ return [3 /*break*/, 4];
6130
+ case 3:
6131
+ error_3 = _b.sent();
6132
+ console.log("Error in downloading programme data", error_3);
6133
+ setLoading(false);
6134
+ return [3 /*break*/, 4];
6135
+ case 4: return [2 /*return*/];
6136
+ }
6137
+ });
6138
+ }); };
6045
6139
  var onSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
6046
6140
  return __generator(this, function (_a) {
6047
6141
  setSearch(searchText);
@@ -6130,7 +6224,10 @@ var ProgrammeManagementComponent = function (props) {
6130
6224
  return e.target.value === ""
6131
6225
  ? setSearch(e.target.value)
6132
6226
  : setSearchText(e.target.value);
6133
- }, onSearch: setSearch, style: { width: 265 } }))))),
6227
+ }, onSearch: setSearch, style: { width: 265 } })),
6228
+ React.createElement("div", { className: "download-data-btn" },
6229
+ React.createElement("a", { onClick: downloadProgrammeData },
6230
+ React.createElement(icons.DownloadOutlined, null)))))),
6134
6231
  React.createElement(antd.Row, null,
6135
6232
  React.createElement(antd.Col, { span: 24 },
6136
6233
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -13478,6 +13575,7 @@ var UserManagementComponent = function (props) {
13478
13575
  var _r = React.useState({}), actionInfo = _r[0], setActionInfo = _r[1];
13479
13576
  var _s = React.useState(""), errorMsg = _s[0], setErrorMsg = _s[1];
13480
13577
  var _t = React.useState(false), openDeleteConfirmationModal = _t[0], setOpenDeleteConfirmationModal = _t[1];
13578
+ var _u = React.useState(), dataQuery = _u[0], setDataQuery = _u[1];
13481
13579
  var ability = useAbilityContext();
13482
13580
  document.addEventListener("mousedown", function (event) {
13483
13581
  var userFilterArea1 = document.querySelector(".filter-bar");
@@ -13833,6 +13931,11 @@ var UserManagementComponent = function (props) {
13833
13931
  setTableData(availableUsers);
13834
13932
  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);
13835
13933
  }
13934
+ setDataQuery({
13935
+ filterAnd: filterAnd(),
13936
+ filterOr: filterOr(),
13937
+ sort: sort(),
13938
+ });
13836
13939
  setLoading(false);
13837
13940
  return [3 /*break*/, 4];
13838
13941
  case 3:
@@ -13850,6 +13953,44 @@ var UserManagementComponent = function (props) {
13850
13953
  }
13851
13954
  });
13852
13955
  }); };
13956
+ var downloadUserData = function () { return __awaiter(void 0, void 0, void 0, function () {
13957
+ var response, url, a, error_3;
13958
+ var _a;
13959
+ return __generator(this, function (_b) {
13960
+ switch (_b.label) {
13961
+ case 0:
13962
+ setLoading(true);
13963
+ _b.label = 1;
13964
+ case 1:
13965
+ _b.trys.push([1, 3, , 4]);
13966
+ return [4 /*yield*/, post("national/user/download", {
13967
+ filterAnd: dataQuery.filterAnd,
13968
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
13969
+ sort: dataQuery.sort,
13970
+ })];
13971
+ case 2:
13972
+ response = _b.sent();
13973
+ if (response && response.data) {
13974
+ url = response.data.url;
13975
+ a = document.createElement('a');
13976
+ a.href = url;
13977
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
13978
+ document.body.appendChild(a);
13979
+ a.click();
13980
+ document.body.removeChild(a); // Clean up the created <a> element
13981
+ window.URL.revokeObjectURL(url);
13982
+ }
13983
+ setLoading(false);
13984
+ return [3 /*break*/, 4];
13985
+ case 3:
13986
+ error_3 = _b.sent();
13987
+ console.log("Error in downloading user data", error_3);
13988
+ setLoading(false);
13989
+ return [3 /*break*/, 4];
13990
+ case 4: return [2 /*return*/];
13991
+ }
13992
+ });
13993
+ }); };
13853
13994
  React.useEffect(function () {
13854
13995
  getAllUser();
13855
13996
  }, [
@@ -13972,7 +14113,13 @@ var UserManagementComponent = function (props) {
13972
14113
  React.createElement(icons.FilterOutlined, { style: {
13973
14114
  color: "rgba(58, 53, 65, 0.3)",
13974
14115
  fontSize: "20px",
13975
- } }))))))),
14116
+ } })))),
14117
+ React.createElement("div", { className: "download-data-btn" },
14118
+ React.createElement("a", { onClick: downloadUserData },
14119
+ React.createElement(icons.DownloadOutlined, { style: {
14120
+ color: "rgba(58, 53, 65, 0.3)",
14121
+ fontSize: "20px",
14122
+ } })))))),
13976
14123
  React.createElement(antd.Row, null,
13977
14124
  React.createElement(antd.Col, { span: 24 },
13978
14125
  React.createElement("div", { className: "userManagement-table-container" },
@@ -14589,6 +14736,7 @@ var InvestmentManagementComponent = function (props) {
14589
14736
  var _u = useSettingsContext(), isTransferFrozen = _u.isTransferFrozen; _u.setTransferFrozen;
14590
14737
  var _v = React.useState([]), ministrySectoralScope = _v[0], setMinistrySectoralScope = _v[1];
14591
14738
  var _w = React.useState(false), ministryLevelFilter = _w[0], setMinistryLevelFilter = _w[1];
14739
+ var _x = React.useState(), dataQuery = _x[0], setDataQuery = _x[1];
14592
14740
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
14593
14741
  return __generator(this, function (_a) {
14594
14742
  console.log(checkedValues);
@@ -14685,6 +14833,12 @@ var InvestmentManagementComponent = function (props) {
14685
14833
  console.log(response);
14686
14834
  setTableData(response.data);
14687
14835
  setTotalProgramme(response.response.data.total);
14836
+ setDataQuery({
14837
+ filterAnd: filter,
14838
+ filterOr: dataFilter,
14839
+ sort: sort,
14840
+ filterBy: filterBy,
14841
+ });
14688
14842
  setLoading(false);
14689
14843
  return [3 /*break*/, 4];
14690
14844
  case 3:
@@ -14702,8 +14856,47 @@ var InvestmentManagementComponent = function (props) {
14702
14856
  }
14703
14857
  });
14704
14858
  }); };
14859
+ var downloadInvestmentData = function () { return __awaiter(void 0, void 0, void 0, function () {
14860
+ var response, url, a, error_2;
14861
+ var _a;
14862
+ return __generator(this, function (_b) {
14863
+ switch (_b.label) {
14864
+ case 0:
14865
+ setLoading(true);
14866
+ _b.label = 1;
14867
+ case 1:
14868
+ _b.trys.push([1, 3, , 4]);
14869
+ return [4 /*yield*/, post("national/programme/investments/download", {
14870
+ filterAnd: dataQuery.filterAnd,
14871
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
14872
+ sort: dataQuery.sort,
14873
+ filterBy: dataQuery.filterBy,
14874
+ })];
14875
+ case 2:
14876
+ response = _b.sent();
14877
+ if (response && response.data) {
14878
+ url = response.data.url;
14879
+ a = document.createElement('a');
14880
+ a.href = url;
14881
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
14882
+ document.body.appendChild(a);
14883
+ a.click();
14884
+ document.body.removeChild(a); // Clean up the created <a> element
14885
+ window.URL.revokeObjectURL(url);
14886
+ }
14887
+ setLoading(false);
14888
+ return [3 /*break*/, 4];
14889
+ case 3:
14890
+ error_2 = _b.sent();
14891
+ console.log("Error in downloading investment data", error_2);
14892
+ setLoading(false);
14893
+ return [3 /*break*/, 4];
14894
+ case 4: return [2 /*return*/];
14895
+ }
14896
+ });
14897
+ }); };
14705
14898
  var getUserDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
14706
- var response, error_2;
14899
+ var response, error_3;
14707
14900
  var _a, _b, _c, _d, _e, _f;
14708
14901
  return __generator(this, function (_g) {
14709
14902
  switch (_g.label) {
@@ -14735,8 +14928,8 @@ var InvestmentManagementComponent = function (props) {
14735
14928
  setLoading(false);
14736
14929
  return [3 /*break*/, 4];
14737
14930
  case 3:
14738
- error_2 = _g.sent();
14739
- console.log("Error in getting users", error_2);
14931
+ error_3 = _g.sent();
14932
+ console.log("Error in getting users", error_3);
14740
14933
  setLoading(false);
14741
14934
  return [3 /*break*/, 4];
14742
14935
  case 4: return [2 /*return*/];
@@ -14767,7 +14960,7 @@ var InvestmentManagementComponent = function (props) {
14767
14960
  ministryLevelFilter,
14768
14961
  ]);
14769
14962
  var handleRequestOk = function (reqId, remarks, endpoint, successText, isRetire) { return __awaiter(void 0, void 0, void 0, function () {
14770
- var response, successMsg, error_3;
14963
+ var response, successMsg, error_4;
14771
14964
  return __generator(this, function (_a) {
14772
14965
  switch (_a.label) {
14773
14966
  case 0:
@@ -14797,10 +14990,10 @@ var InvestmentManagementComponent = function (props) {
14797
14990
  setModalVisible(false);
14798
14991
  return [3 /*break*/, 4];
14799
14992
  case 3:
14800
- error_3 = _a.sent();
14801
- console.log("Error in Cancelling transfer request", error_3);
14993
+ error_4 = _a.sent();
14994
+ console.log("Error in Cancelling transfer request", error_4);
14802
14995
  setLoading(false);
14803
- return [2 /*return*/, error_3.message];
14996
+ return [2 /*return*/, error_4.message];
14804
14997
  case 4: return [2 /*return*/];
14805
14998
  }
14806
14999
  });
@@ -15065,7 +15258,13 @@ var InvestmentManagementComponent = function (props) {
15065
15258
  return e.target.value === ""
15066
15259
  ? setSearch(e.target.value)
15067
15260
  : setSearchText(e.target.value);
15068
- }, onSearch: setSearch, style: { width: 265 } }))))),
15261
+ }, onSearch: setSearch, style: { width: 265 } })),
15262
+ React.createElement("div", { className: "download-data-btn" },
15263
+ React.createElement("a", { onClick: downloadInvestmentData },
15264
+ React.createElement(icons.DownloadOutlined, { style: {
15265
+ color: "rgba(58, 53, 65, 0.3)",
15266
+ fontSize: "20px",
15267
+ } })))))),
15069
15268
  React.createElement(antd.Row, null,
15070
15269
  React.createElement(antd.Col, { span: 24 },
15071
15270
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -15108,6 +15307,7 @@ var NdcActionManagementComponent = function (props) {
15108
15307
  var _m = React.useState(), dataFilter = _m[0]; _m[1];
15109
15308
  var _o = React.useState([]), ministrySectoralScope = _o[0], setMinistrySectoralScope = _o[1];
15110
15309
  var _p = React.useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
15310
+ var _q = React.useState(), dataQuery = _q[0], setDataQuery = _q[1];
15111
15311
  var Search = antd.Input.Search;
15112
15312
  var post = useConnection().post;
15113
15313
  var userInfoState = useUserContext().userInfoState;
@@ -15115,7 +15315,7 @@ var NdcActionManagementComponent = function (props) {
15115
15315
  label: addSpaces(Object.values(exports.NdcActionStatus)[index]),
15116
15316
  value: Object.values(exports.NdcActionStatus)[index],
15117
15317
  }); });
15118
- var _q = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
15318
+ var _r = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
15119
15319
  var getNdcActionNames = function (action) {
15120
15320
  switch (action) {
15121
15321
  case exports.NdcActionTypes.Adaptation:
@@ -15297,6 +15497,11 @@ var NdcActionManagementComponent = function (props) {
15297
15497
  response = _a.sent();
15298
15498
  setTableData(response.data);
15299
15499
  setTotalProgramme(response.response.data.total);
15500
+ setDataQuery({
15501
+ filterAnd: filter,
15502
+ filterBy: filterBy,
15503
+ sort: sort,
15504
+ });
15300
15505
  setLoading(false);
15301
15506
  return [3 /*break*/, 4];
15302
15507
  case 3:
@@ -15355,6 +15560,43 @@ var NdcActionManagementComponent = function (props) {
15355
15560
  }
15356
15561
  });
15357
15562
  }); };
15563
+ var downloadNdcData = function () { return __awaiter(void 0, void 0, void 0, function () {
15564
+ var response, url, a, error_3;
15565
+ return __generator(this, function (_a) {
15566
+ switch (_a.label) {
15567
+ case 0:
15568
+ setLoading(true);
15569
+ _a.label = 1;
15570
+ case 1:
15571
+ _a.trys.push([1, 3, , 4]);
15572
+ return [4 /*yield*/, post("national/programme/queryNdcActions/download", {
15573
+ filterAnd: dataQuery.filterAnd,
15574
+ filterBy: dataQuery.filterBy,
15575
+ sort: dataQuery.sort,
15576
+ })];
15577
+ case 2:
15578
+ response = _a.sent();
15579
+ if (response && response.data) {
15580
+ url = response.data.url;
15581
+ a = document.createElement('a');
15582
+ a.href = url;
15583
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
15584
+ document.body.appendChild(a);
15585
+ a.click();
15586
+ document.body.removeChild(a); // Clean up the created <a> element
15587
+ window.URL.revokeObjectURL(url);
15588
+ }
15589
+ setLoading(false);
15590
+ return [3 /*break*/, 4];
15591
+ case 3:
15592
+ error_3 = _a.sent();
15593
+ console.log("Error in downloading NDC Action data", error_3);
15594
+ setLoading(false);
15595
+ return [3 /*break*/, 4];
15596
+ case 4: return [2 /*return*/];
15597
+ }
15598
+ });
15599
+ }); };
15358
15600
  React.useEffect(function () {
15359
15601
  if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY) {
15360
15602
  getUserDetails();
@@ -15450,7 +15692,13 @@ var NdcActionManagementComponent = function (props) {
15450
15692
  return e.target.value === ""
15451
15693
  ? setSearch(e.target.value)
15452
15694
  : setSearchText(e.target.value);
15453
- }, onSearch: setSearch, style: { width: 265 } }))))),
15695
+ }, onSearch: setSearch, style: { width: 265 } })),
15696
+ React.createElement("div", { className: "download-data-btn" },
15697
+ React.createElement("a", { onClick: downloadNdcData },
15698
+ React.createElement(icons.DownloadOutlined, { style: {
15699
+ color: "rgba(58, 53, 65, 0.3)",
15700
+ fontSize: "20px",
15701
+ } })))))),
15454
15702
  React.createElement(antd.Row, null,
15455
15703
  React.createElement(antd.Col, { span: 24 },
15456
15704
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -19236,6 +19484,11 @@ var CreditTransferComponent = function (props) {
19236
19484
  }); };
19237
19485
  antd.Form.useForm()[0];
19238
19486
  var Search = antd.Input.Search;
19487
+ var ministryLevelPermission = function (sectoralScope) {
19488
+ return ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY &&
19489
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.userRole) !== exports.Role.ViewOnly &&
19490
+ ministrySectoralScope.includes(sectoralScope));
19491
+ };
19239
19492
  var onCheckAllChange = function (e) {
19240
19493
  var nw = e.target.checked ? statusOptions.map(function (el) { return el.value; }) : [];
19241
19494
  setSelectedStatus(nw);
@@ -19496,7 +19749,8 @@ var CreditTransferComponent = function (props) {
19496
19749
  ], renderItem: function (item) { return (React.createElement(antd.List.Item, { onClick: item.click },
19497
19750
  React.createElement(antd.Typography.Text, { className: "action-icon ".concat(item.style) }, item.icon),
19498
19751
  React.createElement("span", null, item.text))); } })) : record.isRetirement &&
19499
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ? (React.createElement(antd.List, { className: "action-menu", size: "small", dataSource: [
19752
+ ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.GOVERNMENT ||
19753
+ ministryLevelPermission(record.programmeSectoralScope)) ? (React.createElement(antd.List, { className: "action-menu", size: "small", dataSource: [
19500
19754
  {
19501
19755
  text: t("creditTransfer:recognise"),
19502
19756
  icon: React.createElement(Icon__namespace.Save, null),