@undp/carbon-library 1.0.285-CARBON-333.0 → 1.0.285-CARBON-325.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/cjs/index.js CHANGED
@@ -151,7 +151,7 @@ function styleInject(css, ref) {
151
151
  }
152
152
  }
153
153
 
154
- var css_248z$A = ".filter-menu-item .filter-title {\n margin-bottom: 0.5rem;\n font-weight: 600; }\n\n.table-row-gray {\n background-color: #F0F0F0; }\n";
154
+ var css_248z$A = ".filter-menu-item .filter-title {\n margin-bottom: 0.5rem;\n font-weight: 600; }\n\n.table-row-gray {\n background-color: #F0F0F0; }\n\n.company-data-download {\n margin-left: 15px;\n margin-top: 0.8rem; }\n";
155
155
  styleInject(css_248z$A);
156
156
 
157
157
  var css_248z$z = ".common-table-class .ant-table {\n border-radius: 1rem; }\n .common-table-class .ant-table .ant-table-thead {\n justify-content: center; }\n .common-table-class .ant-table .ant-table-thead .ant-table-cell {\n color: rgba(58, 53, 65, 0.8);\n font-weight: 600;\n font-size: 0.8rem;\n text-align: center; }\n .common-table-class .ant-table .ant-table-tbody {\n font-size: 0.8rem;\n text-align: center;\n color: rgba(58, 53, 65, 0.8); }\n .common-table-class .ant-table .ant-table-cell {\n padding: 14px 12px; }\n .common-table-class .ant-table .ant-table-thead .ant-table-cell {\n text-transform: uppercase; }\n\n.ant-table-pagination.ant-pagination {\n margin: 16px 24px; }\n\n.ant-select-item-option-content {\n font-family: \"Inter\";\n color: rgba(58, 53, 65, 0.8); }\n\n.ant-pagination-prev, .ant-pagination-next, .ant-pagination-jump-prev, .ant-pagination-jump-next, .ant-pagination-item {\n height: 28px;\n border-radius: 4px;\n line-height: 26px;\n font-size: 0.8rem;\n font-family: \"Inter\"; }\n\n.ant-pagination-item-active:focus-visible {\n border-color: #16b1ff; }\n\n.ant-pagination-options-quick-jumper {\n font-size: 0.8rem;\n font-family: \"Inter\";\n color: rgba(58, 53, 65, 0.8);\n height: 30px;\n line-height: 30px; }\n .ant-pagination-options-quick-jumper input {\n height: 28px;\n border-radius: 4px;\n line-height: 26px;\n color: rgba(58, 53, 65, 0.8); }\n\n.ant-pagination-options .ant-select-single:not(.ant-select-customize-input) .ant-select-selector {\n height: 28px;\n border-radius: 4px;\n line-height: 26px;\n font-size: 0.8rem;\n font-family: \"Inter\";\n color: rgba(58, 53, 65, 0.8); }\n\n.ant-pagination-options .ant-select-selection-item {\n height: 28px;\n color: rgba(58, 53, 65, 0.8);\n line-height: 26px !important; }\n\n.ant-pagination-options .ant-select-dropdown {\n font-family: \"Inter\";\n color: rgba(58, 53, 65, 0.8);\n font-size: 0.8rem; }\n";
@@ -528,6 +528,7 @@ var CompanyManagementComponent = function (props) {
528
528
  var _j = React.useState("All"), filterByOrganisationType = _j[0], setFilterByOrganisationType = _j[1];
529
529
  var _k = React.useState(""), sortOrder = _k[0], setSortOrder = _k[1];
530
530
  var _l = React.useState(""), sortField = _l[0], setSortField = _l[1];
531
+ var _m = React.useState(), dataQuery = _m[0], setDataQuery = _m[1];
531
532
  var ability = useAbilityContext();
532
533
  document.addEventListener("mousedown", function (event) {
533
534
  var organisationFilterArea1 = document.querySelector(".filter-bar");
@@ -733,6 +734,11 @@ var CompanyManagementComponent = function (props) {
733
734
  setTableData(availableCompanies);
734
735
  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);
735
736
  }
737
+ setDataQuery({
738
+ filterAnd: filterAnd(),
739
+ filterOr: filterOr(),
740
+ sort: sort(),
741
+ });
736
742
  setLoading(false);
737
743
  return [3 /*break*/, 4];
738
744
  case 3:
@@ -749,6 +755,50 @@ var CompanyManagementComponent = function (props) {
749
755
  }
750
756
  });
751
757
  }); };
758
+ var downloadCompanyData = function () { return __awaiter(void 0, void 0, void 0, function () {
759
+ var response, url, a, error_2;
760
+ var _a;
761
+ return __generator(this, function (_b) {
762
+ switch (_b.label) {
763
+ case 0:
764
+ setLoading(true);
765
+ _b.label = 1;
766
+ case 1:
767
+ _b.trys.push([1, 3, , 4]);
768
+ return [4 /*yield*/, post("national/organisation/download", {
769
+ filterAnd: dataQuery.filterAnd,
770
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
771
+ sort: dataQuery.sort,
772
+ })];
773
+ case 2:
774
+ response = _b.sent();
775
+ if (response && response.data) {
776
+ url = response.data.url;
777
+ a = document.createElement('a');
778
+ a.href = url;
779
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
780
+ document.body.appendChild(a);
781
+ a.click();
782
+ document.body.removeChild(a); // Clean up the created <a> element
783
+ window.URL.revokeObjectURL(url);
784
+ }
785
+ setLoading(false);
786
+ return [3 /*break*/, 4];
787
+ case 3:
788
+ error_2 = _b.sent();
789
+ console.log("Error in exporting organisations", error_2);
790
+ antd.message.open({
791
+ type: "error",
792
+ content: error_2.message,
793
+ duration: 3,
794
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
795
+ });
796
+ setLoading(false);
797
+ return [3 /*break*/, 4];
798
+ case 4: return [2 /*return*/];
799
+ }
800
+ });
801
+ }); };
752
802
  React.useEffect(function () {
753
803
  getAllCompany();
754
804
  }, [
@@ -836,7 +886,13 @@ var CompanyManagementComponent = function (props) {
836
886
  React.createElement(icons.FilterOutlined, { style: {
837
887
  color: "rgba(58, 53, 65, 0.3)",
838
888
  fontSize: "20px",
839
- } }))))))),
889
+ } })))),
890
+ React.createElement("div", { className: "download-data-btn company-data-download" },
891
+ React.createElement("a", { onClick: downloadCompanyData },
892
+ React.createElement(icons.DownloadOutlined, { style: {
893
+ color: "rgba(58, 53, 65, 0.3)",
894
+ fontSize: "20px",
895
+ } })))))),
840
896
  React.createElement(antd.Row, null,
841
897
  React.createElement(antd.Col, { span: 24 },
842
898
  React.createElement("div", { className: "userManagement-table-container" },
@@ -861,7 +917,7 @@ var CompanyManagementComponent = function (props) {
861
917
  var css_248z$v = ".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-one .space-container {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-one .space-container .ant-space-item {\n width: 100%; }\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 .company-details-form-container .company-details-form .row .details-part-two .space-container {\n width: 100%; }\n .company-details-form-container .company-details-form .row .details-part-two .space-container .ant-space-item {\n width: 100%; }\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";
862
918
  styleInject(css_248z$v);
863
919
 
864
- var css_248z$u = "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-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.space-container {\n width: 100%; }\n .space-container .ant-space-item {\n width: 100%; }\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 .info-container {\n display: flex;\n flex-direction: row;\n width: 10%;\n height: 20px;\n align-items: center;\n justify-content: start;\n margin-left: 5px; }\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";
920
+ var css_248z$u = "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-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.space-container {\n width: 100%; }\n .space-container .ant-space-item {\n width: 100%; }\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 .info-container {\n display: flex;\n flex-direction: row;\n width: 10%;\n height: 20px;\n align-items: center;\n justify-content: start;\n margin-left: 5px; }\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";
865
921
  styleInject(css_248z$u);
866
922
 
867
923
  exports.UserManagementColumns = void 0;
@@ -7066,14 +7122,15 @@ var ProgrammeManagementComponent = function (props) {
7066
7122
  var _p = React.useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
7067
7123
  var userInfoState = useUserContext().userInfoState;
7068
7124
  var ability = useAbilityContext();
7125
+ var _q = React.useState(), dataQuery = _q[0], setDataQuery = _q[1];
7069
7126
  var stageObject = enableAddProgramme ? exports.ProgrammeStageMRV : exports.ProgrammeStageR;
7070
7127
  var statusOptions = Object.keys(stageObject).map(function (k, index) { return ({
7071
7128
  label: Object.values(stageObject)[index],
7072
7129
  value: k,
7073
7130
  }); });
7074
- var _q = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
7075
- var _r = React.useState(false), indeterminate = _r[0], setIndeterminate = _r[1];
7076
- var _s = React.useState(true), checkAll = _s[0], setCheckAll = _s[1];
7131
+ var _r = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
7132
+ var _s = React.useState(false), indeterminate = _s[0], setIndeterminate = _s[1];
7133
+ var _t = React.useState(true), checkAll = _t[0], setCheckAll = _t[1];
7077
7134
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
7078
7135
  return __generator(this, function (_a) {
7079
7136
  console.log(checkedValues);
@@ -7316,6 +7373,11 @@ var ProgrammeManagementComponent = function (props) {
7316
7373
  setTableData(response.data);
7317
7374
  setTotalProgramme(response.response.data.total);
7318
7375
  setLoading(false);
7376
+ setDataQuery({
7377
+ filterAnd: filter,
7378
+ filterOr: (filterOr === null || filterOr === void 0 ? void 0 : filterOr.length) > 0 ? filterOr : undefined,
7379
+ sort: sort,
7380
+ });
7319
7381
  return [3 /*break*/, 4];
7320
7382
  case 3:
7321
7383
  error_1 = _a.sent();
@@ -7373,6 +7435,50 @@ var ProgrammeManagementComponent = function (props) {
7373
7435
  }
7374
7436
  });
7375
7437
  }); };
7438
+ var downloadProgrammeData = function () { return __awaiter(void 0, void 0, void 0, function () {
7439
+ var response, url, a, error_3;
7440
+ var _a;
7441
+ return __generator(this, function (_b) {
7442
+ switch (_b.label) {
7443
+ case 0:
7444
+ setLoading(true);
7445
+ _b.label = 1;
7446
+ case 1:
7447
+ _b.trys.push([1, 3, , 4]);
7448
+ return [4 /*yield*/, post("national/programme/download", {
7449
+ filterAnd: dataQuery.filterAnd,
7450
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
7451
+ sort: dataQuery.sort,
7452
+ })];
7453
+ case 2:
7454
+ response = _b.sent();
7455
+ if (response && response.data) {
7456
+ url = response.data.url;
7457
+ a = document.createElement('a');
7458
+ a.href = url;
7459
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
7460
+ document.body.appendChild(a);
7461
+ a.click();
7462
+ document.body.removeChild(a); // Clean up the created <a> element
7463
+ window.URL.revokeObjectURL(url);
7464
+ }
7465
+ setLoading(false);
7466
+ return [3 /*break*/, 4];
7467
+ case 3:
7468
+ error_3 = _b.sent();
7469
+ console.log("Error in exporting programmes", error_3);
7470
+ antd.message.open({
7471
+ type: "error",
7472
+ content: error_3.message,
7473
+ duration: 3,
7474
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
7475
+ });
7476
+ setLoading(false);
7477
+ return [3 /*break*/, 4];
7478
+ case 4: return [2 /*return*/];
7479
+ }
7480
+ });
7481
+ }); };
7376
7482
  var onSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
7377
7483
  return __generator(this, function (_a) {
7378
7484
  setSearch(searchText);
@@ -7461,7 +7567,13 @@ var ProgrammeManagementComponent = function (props) {
7461
7567
  return e.target.value === ""
7462
7568
  ? setSearch(e.target.value)
7463
7569
  : setSearchText(e.target.value);
7464
- }, onSearch: setSearch, style: { width: 265 } }))))),
7570
+ }, onSearch: setSearch, style: { width: 265 } })),
7571
+ React.createElement("div", { className: "download-data-btn" },
7572
+ React.createElement("a", { onClick: downloadProgrammeData },
7573
+ React.createElement(icons.DownloadOutlined, { style: {
7574
+ color: "rgba(58, 53, 65, 0.3)",
7575
+ fontSize: "20px",
7576
+ } })))))),
7465
7577
  React.createElement(antd.Row, null,
7466
7578
  React.createElement(antd.Col, { span: 24 },
7467
7579
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -14878,7 +14990,7 @@ var UserProfileComponent = function (props) {
14878
14990
  : "-")))))))))));
14879
14991
  };
14880
14992
 
14881
- var css_248z$n = ".filter-menu-item .filter-title {\n margin-bottom: 0.5rem;\n font-weight: 600; }\n\n.table-row-gray {\n background-color: #f0f0f0; }\n";
14993
+ var css_248z$n = ".filter-menu-item .filter-title {\n margin-bottom: 0.5rem;\n font-weight: 600; }\n\n.table-row-gray {\n background-color: #f0f0f0; }\n\n.user-data-download {\n margin-left: 15px;\n margin-top: 0.8rem; }\n";
14882
14994
  styleInject(css_248z$n);
14883
14995
 
14884
14996
  var Search = antd.Input.Search;
@@ -14904,6 +15016,7 @@ var UserManagementComponent = function (props) {
14904
15016
  var _r = React.useState({}), actionInfo = _r[0], setActionInfo = _r[1];
14905
15017
  var _s = React.useState(""), errorMsg = _s[0], setErrorMsg = _s[1];
14906
15018
  var _t = React.useState(false), openDeleteConfirmationModal = _t[0], setOpenDeleteConfirmationModal = _t[1];
15019
+ var _u = React.useState(), dataQuery = _u[0], setDataQuery = _u[1];
14907
15020
  var ability = useAbilityContext();
14908
15021
  document.addEventListener("mousedown", function (event) {
14909
15022
  var userFilterArea1 = document.querySelector(".filter-bar");
@@ -15259,6 +15372,11 @@ var UserManagementComponent = function (props) {
15259
15372
  setTableData(availableUsers);
15260
15373
  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);
15261
15374
  }
15375
+ setDataQuery({
15376
+ filterAnd: filterAnd(),
15377
+ filterOr: filterOr(),
15378
+ sort: sort(),
15379
+ });
15262
15380
  setLoading(false);
15263
15381
  return [3 /*break*/, 4];
15264
15382
  case 3:
@@ -15276,6 +15394,50 @@ var UserManagementComponent = function (props) {
15276
15394
  }
15277
15395
  });
15278
15396
  }); };
15397
+ var downloadUserData = function () { return __awaiter(void 0, void 0, void 0, function () {
15398
+ var response, url, a, error_3;
15399
+ var _a;
15400
+ return __generator(this, function (_b) {
15401
+ switch (_b.label) {
15402
+ case 0:
15403
+ setLoading(true);
15404
+ _b.label = 1;
15405
+ case 1:
15406
+ _b.trys.push([1, 3, , 4]);
15407
+ return [4 /*yield*/, post("national/user/download", {
15408
+ filterAnd: dataQuery.filterAnd,
15409
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
15410
+ sort: dataQuery.sort,
15411
+ })];
15412
+ case 2:
15413
+ response = _b.sent();
15414
+ if (response && response.data) {
15415
+ url = response.data.url;
15416
+ a = document.createElement('a');
15417
+ a.href = url;
15418
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
15419
+ document.body.appendChild(a);
15420
+ a.click();
15421
+ document.body.removeChild(a); // Clean up the created <a> element
15422
+ window.URL.revokeObjectURL(url);
15423
+ }
15424
+ setLoading(false);
15425
+ return [3 /*break*/, 4];
15426
+ case 3:
15427
+ error_3 = _b.sent();
15428
+ console.log("Error in exporting users", error_3);
15429
+ antd.message.open({
15430
+ type: "error",
15431
+ content: error_3.message,
15432
+ duration: 3,
15433
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
15434
+ });
15435
+ setLoading(false);
15436
+ return [3 /*break*/, 4];
15437
+ case 4: return [2 /*return*/];
15438
+ }
15439
+ });
15440
+ }); };
15279
15441
  React.useEffect(function () {
15280
15442
  getAllUser();
15281
15443
  }, [
@@ -15398,7 +15560,13 @@ var UserManagementComponent = function (props) {
15398
15560
  React.createElement(icons.FilterOutlined, { style: {
15399
15561
  color: "rgba(58, 53, 65, 0.3)",
15400
15562
  fontSize: "20px",
15401
- } }))))))),
15563
+ } })))),
15564
+ React.createElement("div", { className: "download-data-btn user-data-download" },
15565
+ React.createElement("a", { onClick: downloadUserData },
15566
+ React.createElement(icons.DownloadOutlined, { style: {
15567
+ color: "rgba(58, 53, 65, 0.3)",
15568
+ fontSize: "20px",
15569
+ } })))))),
15402
15570
  React.createElement(antd.Row, null,
15403
15571
  React.createElement(antd.Col, { span: 24 },
15404
15572
  React.createElement("div", { className: "userManagement-table-container" },
@@ -16084,6 +16252,7 @@ var InvestmentManagementComponent = function (props) {
16084
16252
  var _u = useSettingsContext(), isTransferFrozen = _u.isTransferFrozen; _u.setTransferFrozen;
16085
16253
  var _v = React.useState([]), ministrySectoralScope = _v[0], setMinistrySectoralScope = _v[1];
16086
16254
  var _w = React.useState(false), ministryLevelFilter = _w[0], setMinistryLevelFilter = _w[1];
16255
+ var _x = React.useState(), dataQuery = _x[0], setDataQuery = _x[1];
16087
16256
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
16088
16257
  return __generator(this, function (_a) {
16089
16258
  console.log(checkedValues);
@@ -16180,6 +16349,12 @@ var InvestmentManagementComponent = function (props) {
16180
16349
  console.log(response);
16181
16350
  setTableData(response.data);
16182
16351
  setTotalProgramme(response.response.data.total);
16352
+ setDataQuery({
16353
+ filterAnd: filter,
16354
+ filterOr: dataFilter,
16355
+ sort: sort,
16356
+ filterBy: filterBy,
16357
+ });
16183
16358
  setLoading(false);
16184
16359
  return [3 /*break*/, 4];
16185
16360
  case 3:
@@ -16197,8 +16372,53 @@ var InvestmentManagementComponent = function (props) {
16197
16372
  }
16198
16373
  });
16199
16374
  }); };
16375
+ var downloadInvestmentData = function () { return __awaiter(void 0, void 0, void 0, function () {
16376
+ var response, url, a, error_2;
16377
+ var _a;
16378
+ return __generator(this, function (_b) {
16379
+ switch (_b.label) {
16380
+ case 0:
16381
+ setLoading(true);
16382
+ _b.label = 1;
16383
+ case 1:
16384
+ _b.trys.push([1, 3, , 4]);
16385
+ return [4 /*yield*/, post("national/programme/investments/download", {
16386
+ filterAnd: dataQuery.filterAnd,
16387
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
16388
+ sort: dataQuery.sort,
16389
+ filterBy: dataQuery.filterBy,
16390
+ })];
16391
+ case 2:
16392
+ response = _b.sent();
16393
+ if (response && response.data) {
16394
+ url = response.data.url;
16395
+ a = document.createElement('a');
16396
+ a.href = url;
16397
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
16398
+ document.body.appendChild(a);
16399
+ a.click();
16400
+ document.body.removeChild(a); // Clean up the created <a> element
16401
+ window.URL.revokeObjectURL(url);
16402
+ }
16403
+ setLoading(false);
16404
+ return [3 /*break*/, 4];
16405
+ case 3:
16406
+ error_2 = _b.sent();
16407
+ console.log("Error in exporting investments", error_2);
16408
+ antd.message.open({
16409
+ type: "error",
16410
+ content: error_2.message,
16411
+ duration: 3,
16412
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
16413
+ });
16414
+ setLoading(false);
16415
+ return [3 /*break*/, 4];
16416
+ case 4: return [2 /*return*/];
16417
+ }
16418
+ });
16419
+ }); };
16200
16420
  var getUserDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
16201
- var response, error_2;
16421
+ var response, error_3;
16202
16422
  var _a, _b, _c, _d, _e, _f;
16203
16423
  return __generator(this, function (_g) {
16204
16424
  switch (_g.label) {
@@ -16230,8 +16450,8 @@ var InvestmentManagementComponent = function (props) {
16230
16450
  setLoading(false);
16231
16451
  return [3 /*break*/, 4];
16232
16452
  case 3:
16233
- error_2 = _g.sent();
16234
- console.log("Error in getting users", error_2);
16453
+ error_3 = _g.sent();
16454
+ console.log("Error in getting users", error_3);
16235
16455
  setLoading(false);
16236
16456
  return [3 /*break*/, 4];
16237
16457
  case 4: return [2 /*return*/];
@@ -16262,7 +16482,7 @@ var InvestmentManagementComponent = function (props) {
16262
16482
  ministryLevelFilter,
16263
16483
  ]);
16264
16484
  var handleRequestOk = function (reqId, remarks, endpoint, successText, isRetire) { return __awaiter(void 0, void 0, void 0, function () {
16265
- var response, successMsg, error_3;
16485
+ var response, successMsg, error_4;
16266
16486
  return __generator(this, function (_a) {
16267
16487
  switch (_a.label) {
16268
16488
  case 0:
@@ -16292,10 +16512,10 @@ var InvestmentManagementComponent = function (props) {
16292
16512
  setModalVisible(false);
16293
16513
  return [3 /*break*/, 4];
16294
16514
  case 3:
16295
- error_3 = _a.sent();
16296
- console.log("Error in Cancelling transfer request", error_3);
16515
+ error_4 = _a.sent();
16516
+ console.log("Error in Cancelling transfer request", error_4);
16297
16517
  setLoading(false);
16298
- return [2 /*return*/, error_3.message];
16518
+ return [2 /*return*/, error_4.message];
16299
16519
  case 4: return [2 /*return*/];
16300
16520
  }
16301
16521
  });
@@ -16561,7 +16781,13 @@ var InvestmentManagementComponent = function (props) {
16561
16781
  return e.target.value === ""
16562
16782
  ? setSearch(e.target.value)
16563
16783
  : setSearchText(e.target.value);
16564
- }, onSearch: setSearch, style: { width: 265 } }))))),
16784
+ }, onSearch: setSearch, style: { width: 265 } })),
16785
+ React.createElement("div", { className: "download-data-btn" },
16786
+ React.createElement("a", { onClick: downloadInvestmentData },
16787
+ React.createElement(icons.DownloadOutlined, { style: {
16788
+ color: "rgba(58, 53, 65, 0.3)",
16789
+ fontSize: "20px",
16790
+ } })))))),
16565
16791
  React.createElement(antd.Row, null,
16566
16792
  React.createElement(antd.Col, { span: 24 },
16567
16793
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -17461,6 +17687,7 @@ var NdcActionManagementComponent = function (props) {
17461
17687
  var _m = React.useState(), dataFilter = _m[0]; _m[1];
17462
17688
  var _o = React.useState([]), ministrySectoralScope = _o[0], setMinistrySectoralScope = _o[1];
17463
17689
  var _p = React.useState(false), ministryLevelFilter = _p[0], setMinistryLevelFilter = _p[1];
17690
+ var _q = React.useState(), dataQuery = _q[0], setDataQuery = _q[1];
17464
17691
  var Search = antd.Input.Search;
17465
17692
  var post = useConnection().post;
17466
17693
  var userInfoState = useUserContext().userInfoState;
@@ -17468,7 +17695,7 @@ var NdcActionManagementComponent = function (props) {
17468
17695
  label: addSpaces(Object.values(exports.NdcActionStatus)[index]),
17469
17696
  value: Object.values(exports.NdcActionStatus)[index],
17470
17697
  }); });
17471
- var _q = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _q[0], setSelectedStatus = _q[1];
17698
+ var _r = React.useState(statusOptions.map(function (e) { return e.value; })), selectedStatus = _r[0], setSelectedStatus = _r[1];
17472
17699
  var getNdcActionNames = function (action) {
17473
17700
  switch (action) {
17474
17701
  case exports.NdcActionTypes.Adaptation:
@@ -17650,6 +17877,11 @@ var NdcActionManagementComponent = function (props) {
17650
17877
  response = _a.sent();
17651
17878
  setTableData(response.data);
17652
17879
  setTotalProgramme(response.response.data.total);
17880
+ setDataQuery({
17881
+ filterAnd: filter,
17882
+ filterBy: filterBy,
17883
+ sort: sort,
17884
+ });
17653
17885
  setLoading(false);
17654
17886
  return [3 /*break*/, 4];
17655
17887
  case 3:
@@ -17708,6 +17940,49 @@ var NdcActionManagementComponent = function (props) {
17708
17940
  }
17709
17941
  });
17710
17942
  }); };
17943
+ var downloadNdcData = function () { return __awaiter(void 0, void 0, void 0, function () {
17944
+ var response, url, a, error_3;
17945
+ return __generator(this, function (_a) {
17946
+ switch (_a.label) {
17947
+ case 0:
17948
+ setLoading(true);
17949
+ _a.label = 1;
17950
+ case 1:
17951
+ _a.trys.push([1, 3, , 4]);
17952
+ return [4 /*yield*/, post("national/programme/queryNdcActions/download", {
17953
+ filterAnd: dataQuery.filterAnd,
17954
+ filterBy: dataQuery.filterBy,
17955
+ sort: dataQuery.sort,
17956
+ })];
17957
+ case 2:
17958
+ response = _a.sent();
17959
+ if (response && response.data) {
17960
+ url = response.data.url;
17961
+ a = document.createElement('a');
17962
+ a.href = url;
17963
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
17964
+ document.body.appendChild(a);
17965
+ a.click();
17966
+ document.body.removeChild(a); // Clean up the created <a> element
17967
+ window.URL.revokeObjectURL(url);
17968
+ }
17969
+ setLoading(false);
17970
+ return [3 /*break*/, 4];
17971
+ case 3:
17972
+ error_3 = _a.sent();
17973
+ console.log("Error in exporting NDC Actions", error_3);
17974
+ antd.message.open({
17975
+ type: "error",
17976
+ content: error_3.message,
17977
+ duration: 3,
17978
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
17979
+ });
17980
+ setLoading(false);
17981
+ return [3 /*break*/, 4];
17982
+ case 4: return [2 /*return*/];
17983
+ }
17984
+ });
17985
+ }); };
17711
17986
  React.useEffect(function () {
17712
17987
  if ((userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY) {
17713
17988
  getUserDetails();
@@ -17803,7 +18078,13 @@ var NdcActionManagementComponent = function (props) {
17803
18078
  return e.target.value === ""
17804
18079
  ? setSearch(e.target.value)
17805
18080
  : setSearchText(e.target.value);
17806
- }, onSearch: setSearch, style: { width: 265 } }))))),
18081
+ }, onSearch: setSearch, style: { width: 265 } })),
18082
+ React.createElement("div", { className: "download-data-btn" },
18083
+ React.createElement("a", { onClick: downloadNdcData },
18084
+ React.createElement(icons.DownloadOutlined, { style: {
18085
+ color: "rgba(58, 53, 65, 0.3)",
18086
+ fontSize: "20px",
18087
+ } })))))),
17807
18088
  React.createElement(antd.Row, null,
17808
18089
  React.createElement(antd.Col, { span: 24 },
17809
18090
  React.createElement("div", { className: "programmeManagement-table-container" },
@@ -22237,7 +22518,7 @@ var NdcActionViewComponent = function (props) {
22237
22518
  var css_248z$e = ".credit-transfer-management .certify-list {\n width: 110px;\n display: flex;\n align-items: center;\n flex-wrap: wrap; }\n .credit-transfer-management .certify-list .profile-icon {\n margin-bottom: 4px; }\n\n.credit-transfer-management .table-actions-section {\n margin-bottom: 0px; }\n .credit-transfer-management .table-actions-section input {\n font-family: \"Inter\";\n font-size: 0.8rem; }\n\n.credit-transfer-management .all-check {\n margin-right: 10px; }\n .credit-transfer-management .all-check .ant-checkbox-inner::after {\n background-color: rgba(58, 53, 65, 0.5); }\n .credit-transfer-management .all-check .ant-checkbox-checked .ant-checkbox-inner::after {\n background-color: transparent; }\n .credit-transfer-management .all-check .ant-checkbox-checked .ant-checkbox-inner {\n background-color: rgba(58, 53, 65, 0.5);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Retired'] + .ant-checkbox-inner {\n background-color: rgba(58, 53, 65, 0.4);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='AwaitingAuthorization'] + .ant-checkbox-inner {\n background-color: rgba(237, 77, 71, 0.6);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Rejected'] + .ant-checkbox-inner {\n background-color: rgba(58, 53, 65, 0.4);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Issued'] + .ant-checkbox-inner {\n background-color: #16b1ff;\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Transferred'] + .ant-checkbox-inner {\n background-color: rgba(118, 195, 39, 0.6);\n border: none; }\n\n.credit-transfer-modal-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 2rem 0 0 0;\n width: 100%; }\n .credit-transfer-modal-container .icon-credit {\n margin-bottom: 15px; }\n .credit-transfer-modal-container .credit-transfer-details {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin-bottom: 10px; }\n .credit-transfer-modal-container .credit-transfer-details .content-credit-transfer {\n font-family: 'Inter' !important;\n font-style: normal;\n font-weight: 600;\n font-size: 0.9rem;\n line-height: 1.3rem;\n padding: 0 1rem 0 1rem;\n text-align: center;\n color: rgba(58, 53, 65, 0.8) !important; }\n .credit-transfer-modal-container .credit-transfer-details .sub-content-credit-transfer {\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 0.8rem;\n line-height: 1.375rem;\n text-align: center;\n color: rgba(58, 53, 65, 0.5); }\n .credit-transfer-modal-container .remarks-credit-transfer {\n flex-direction: row;\n width: 100%;\n padding: 0.5rem 1rem 0 1rem; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .ant-form-item-explain-error {\n display: flex;\n flex-direction: row; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .ant-form {\n width: 100%; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .ant-form .ant-form-item-label > label {\n font-size: 0.8rem; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .modal-credit-transfer-btns {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin-top: 1rem; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .modal-credit-transfer-btns .center {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between; }\n .credit-transfer-modal-container .remarks-credit-transfer .modal-form .modal-credit-transfer-btns .width-60 {\n width: 60%; }\n\n.common-table-class .ant-table .ant-table-thead .ant-table-cell {\n font-size: 0.75rem;\n font-weight: 600; }\n";
22238
22519
  styleInject(css_248z$e);
22239
22520
 
22240
- var css_248z$d = ".credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Rejected'] + .ant-checkbox-inner {\n background-color: rgba(237, 77, 71, 0.6);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Cancelled'] + .ant-checkbox-inner {\n background-color: rgba(58, 53, 65, 0.4);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Accepted'] + .ant-checkbox-inner {\n background-color: #16b1ff;\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Pending'] + .ant-checkbox-inner {\n background-color: rgba(118, 195, 39, 0.6);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Recognised'] + .ant-checkbox-inner {\n background-color: #976ed7;\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='NotRecognised'] + .ant-checkbox-inner {\n background-color: #ffa070;\n border: none; }\n\n.credit-transfer-management .transfer-freeze-icon {\n float: right; }\n .credit-transfer-management .transfer-freeze-icon .pause-circle {\n color: rgba(255, 77, 79, 0.8); }\n .credit-transfer-management .transfer-freeze-icon .play-circle {\n color: rgba(118, 195, 39, 0.6); }\n";
22521
+ var css_248z$d = ".credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Rejected'] + .ant-checkbox-inner {\n background-color: rgba(237, 77, 71, 0.6);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Cancelled'] + .ant-checkbox-inner {\n background-color: rgba(58, 53, 65, 0.4);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Accepted'] + .ant-checkbox-inner {\n background-color: #16b1ff;\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Pending'] + .ant-checkbox-inner {\n background-color: rgba(118, 195, 39, 0.6);\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='Recognised'] + .ant-checkbox-inner {\n background-color: #976ed7;\n border: none; }\n\n.credit-transfer-management .ant-checkbox-checked .ant-checkbox-input[value='NotRecognised'] + .ant-checkbox-inner {\n background-color: #ffa070;\n border: none; }\n\n.credit-transfer-management .ministry-level-filter-checkbox {\n margin-left: 0px !important; }\n\n.credit-transfer-management .transfer-freeze-icon {\n float: right; }\n .credit-transfer-management .transfer-freeze-icon .pause-circle {\n color: rgba(255, 77, 79, 0.8); }\n .credit-transfer-management .transfer-freeze-icon .play-circle {\n color: rgba(118, 195, 39, 0.6); }\n";
22241
22522
  styleInject(css_248z$d);
22242
22523
 
22243
22524
  function n(){return (n=Object.assign?Object.assign.bind():function(a){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(a[e]=t[e]);}return a}).apply(this,arguments)}function t(a,n){if(null==a)return {};var t,e,r={},s=Object.keys(a);for(e=0;e<s.length;e++)n.indexOf(t=s[e])>=0||(r[t]=a[t]);return r}var e={ac:!0,ad:!0,ae:!0,af:!0,afar:!0,ag:!0,ai:!0,al:!0,am:!0,ao:!0,aq:!0,ar:!0,as:!0,at:!0,au:!0,"au-aboriginal":!0,"au-act":!0,"au-nsw":!0,"au-nt":!0,"au-qld":!0,"au-tas":!0,"au-vic":!0,"au-wa":!0,aw:!0,ax:!0,az:!0,ba:!0,bb:!0,bd:!0,be:!0,bf:!0,bg:!0,bh:!0,bi:!0,bj:!0,bl:!0,bm:!0,bn:!0,bo:!0,"bq-bo":!0,"bq-sa":!0,"bq-se":!0,bq:!0,br:!0,bs:!0,bt:!0,bv:!0,bw:!0,by:!0,bz:!0,"ca-bc":!0,ca:!0,cc:!0,cd:!0,cf:!0,cg:!0,"ch-gr":!0,ch:!0,ci:!0,ck:!0,cl:!0,cm:!0,"cn-xj":!0,cn:!0,co:!0,cp:!0,cq:!0,cr:!0,cu:!0,cv:!0,cw:!0,cx:!0,cy:!0,cz:!0,de:!0,dg:!0,dj:!0,dk:!0,dm:!0,do:!0,dz:!0,ea:!0,earth:!0,east_african_federation:!0,easter_island:!0,"ec-w":!0,ec:!0,ee:!0,eg:!0,eh:!0,er:!0,"es-ar":!0,"es-ce":!0,"es-cn":!0,"es-ct":!0,"es-ga":!0,"es-ib":!0,"es-ml":!0,"es-pv":!0,"es-variant":!0,es:!0,"et-or":!0,"et-ti":!0,et:!0,eu:!0,european_union:!0,ewe:!0,fi:!0,fj:!0,fk:!0,fm:!0,fo:!0,"fr-20r":!0,"fr-bre":!0,"fr-cp":!0,fr:!0,fx:!0,ga:!0,"gb-con":!0,"gb-eng":!0,"gb-nir":!0,"gb-ork":!0,"gb-sct":!0,"gb-wls":!0,gb:!0,gd:!0,"ge-ab":!0,ge:!0,gf:!0,gg:!0,gh:!0,gi:!0,gl:!0,gm:!0,gn:!0,gp:!0,gq:!0,gr:!0,gs:!0,gt:!0,gu:!0,guarani:!0,gw:!0,gy:!0,hausa:!0,hk:!0,hm:!0,hmong:!0,hn:!0,hr:!0,ht:!0,hu:!0,ic:!0,id:!0,"id-jb":!0,"id-jt":!0,ie:!0,il:!0,im:!0,"in-as":!0,"in-gj":!0,"in-ka":!0,"in-or":!0,"in-tn":!0,in:!0,io:!0,iq:!0,ir:!0,is:!0,"it-23":!0,"it-82":!0,"it-88":!0,it:!0,je:!0,jm:!0,jo:!0,jp:!0,kanuri:!0,ke:!0,kg:!0,kh:!0,ki:!0,kikuyu:!0,km:!0,kn:!0,kongo:!0,kp:!0,kr:!0,kurdistan:!0,kw:!0,ky:!0,kz:!0,la:!0,lb:!0,lc:!0,li:!0,lk:!0,lr:!0,ls:!0,lt:!0,lu:!0,lv:!0,ly:!0,ma:!0,malayali:!0,manipur:!0,maori:!0,mc:!0,md:!0,me:!0,mf:!0,mg:!0,mh:!0,mizoram:!0,mk:!0,ml:!0,mm:!0,mn:!0,mo:!0,mp:!0,mq:!0,mr:!0,ms:!0,mt:!0,mu:!0,mv:!0,mw:!0,mx:!0,my:!0,mz:!0,na:!0,nato:!0,nc:!0,ne:!0,nf:!0,ng:!0,ni:!0,"nl-fr":!0,nl:!0,no:!0,northern_cyprus:!0,np:!0,nr:!0,nu:!0,nz:!0,occitania:!0,olympics:!0,om:!0,otomi:!0,pa:!0,pe:!0,pf:!0,pg:!0,ph:!0,"pk-jk":!0,"pk-sd":!0,pk:!0,pl:!0,pm:!0,pn:!0,pr:!0,ps:!0,"pt-20":!0,"pt-30":!0,pt:!0,pw:!0,py:!0,qa:!0,quechua:!0,re:!0,ro:!0,rs:!0,ru:!0,"ru-ba":!0,"ru-ce":!0,"ru-cu":!0,"ru-da":!0,"ru-ko":!0,"ru-ta":!0,"ru-ud":!0,rw:!0,sa:!0,sami:!0,sb:!0,sc:!0,sd:!0,se:!0,sg:!0,"sh-ac":!0,"sh-hl":!0,"sh-ta":!0,sh:!0,si:!0,sj:!0,sk:!0,sl:!0,sm:!0,sn:!0,so:!0,somaliland:!0,south_ossetia:!0,soviet_union:!0,sr:!0,ss:!0,st:!0,su:!0,sv:!0,sx:!0,sy:!0,sz:!0,ta:!0,tc:!0,td:!0,tf:!0,tg:!0,th:!0,tibet:!0,tj:!0,tk:!0,tl:!0,tm:!0,tn:!0,to:!0,torres_strait_islands:!0,tr:!0,transnistria:!0,tt:!0,tv:!0,tw:!0,tz:!0,ua:!0,ug:!0,uk:!0,um:!0,un:!0,united_nations:!0,"us-hi":!0,us:!0,uy:!0,uz:!0,va:!0,vc:!0,ve:!0,vg:!0,vi:!0,vn:!0,vu:!0,wf:!0,wiphala:!0,ws:!0,xk:!0,xx:!0,ye:!0,yorubaland:!0,yt:!0,za:!0,zm:!0,zw:!0},s=["countryCode","cdnUrl"],c=function(a,t,e,r){return void 0===r&&(r=""),n({},e,{title:e.title||a,height:e.height||100,src:""+(t||"https://hatscripts.github.io/circle-flags/flags/")+r+a+".svg"})},u=function(r){var i=r.countryCode,u=r.cdnUrl,o=t(r,s);return React.createElement("img",n({"data-testid":"circle-country-flag"},c(function(a){return e[a]?a:"xx"}(i).toLowerCase(),u,o)))};
@@ -22416,6 +22697,7 @@ var CreditTransferComponent = function (props) {
22416
22697
  var _y = useSettingsContext(), isTransferFrozen = _y.isTransferFrozen, setTransferFrozen = _y.setTransferFrozen;
22417
22698
  var _z = React.useState([]), ministrySectoralScope = _z[0], setMinistrySectoralScope = _z[1];
22418
22699
  var _0 = React.useState(false), ministryLevelFilter = _0[0], setMinistryLevelFilter = _0[1];
22700
+ var _1 = React.useState(), dataQuery = _1[0], setDataQuery = _1[1];
22419
22701
  var onStatusQuery = function (checkedValues) { return __awaiter(void 0, void 0, void 0, function () {
22420
22702
  return __generator(this, function (_a) {
22421
22703
  console.log(checkedValues);
@@ -22519,6 +22801,12 @@ var CreditTransferComponent = function (props) {
22519
22801
  console.log(response);
22520
22802
  setTableData(response.data);
22521
22803
  setTotalProgramme(response.response.data.total);
22804
+ setDataQuery({
22805
+ filterAnd: filter,
22806
+ filterOr: dataFilter,
22807
+ sort: sort,
22808
+ filterBy: filterBy,
22809
+ });
22522
22810
  setLoading(false);
22523
22811
  return [3 /*break*/, 4];
22524
22812
  case 3:
@@ -22536,8 +22824,53 @@ var CreditTransferComponent = function (props) {
22536
22824
  }
22537
22825
  });
22538
22826
  }); };
22827
+ var downloadTransferData = function () { return __awaiter(void 0, void 0, void 0, function () {
22828
+ var response, url, a, error_2;
22829
+ var _a;
22830
+ return __generator(this, function (_b) {
22831
+ switch (_b.label) {
22832
+ case 0:
22833
+ setLoading(true);
22834
+ _b.label = 1;
22835
+ case 1:
22836
+ _b.trys.push([1, 3, , 4]);
22837
+ return [4 /*yield*/, post("national/programme/transfers/download", {
22838
+ filterAnd: dataQuery.filterAnd,
22839
+ filterOr: ((_a = dataQuery.filterOr) === null || _a === void 0 ? void 0 : _a.length) > 0 ? dataQuery.filterOr : undefined,
22840
+ sort: dataQuery.sort,
22841
+ filterBy: dataQuery.filterBy,
22842
+ })];
22843
+ case 2:
22844
+ response = _b.sent();
22845
+ if (response && response.data) {
22846
+ url = response.data.url;
22847
+ a = document.createElement('a');
22848
+ a.href = url;
22849
+ a.download = response.data.csvFile; // Specify the filename for the downloaded file
22850
+ document.body.appendChild(a);
22851
+ a.click();
22852
+ document.body.removeChild(a); // Clean up the created <a> element
22853
+ window.URL.revokeObjectURL(url);
22854
+ }
22855
+ setLoading(false);
22856
+ return [3 /*break*/, 4];
22857
+ case 3:
22858
+ error_2 = _b.sent();
22859
+ console.log("Error in exporting transfers", error_2);
22860
+ antd.message.open({
22861
+ type: "error",
22862
+ content: error_2.message,
22863
+ duration: 3,
22864
+ style: { textAlign: "right", marginRight: 15, marginTop: 10 },
22865
+ });
22866
+ setLoading(false);
22867
+ return [3 /*break*/, 4];
22868
+ case 4: return [2 /*return*/];
22869
+ }
22870
+ });
22871
+ }); };
22539
22872
  var getUserDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
22540
- var response, error_2;
22873
+ var response, error_3;
22541
22874
  var _a, _b, _c, _d, _e, _f;
22542
22875
  return __generator(this, function (_g) {
22543
22876
  switch (_g.label) {
@@ -22569,8 +22902,8 @@ var CreditTransferComponent = function (props) {
22569
22902
  setLoading(false);
22570
22903
  return [3 /*break*/, 4];
22571
22904
  case 3:
22572
- error_2 = _g.sent();
22573
- console.log("Error in getting users", error_2);
22905
+ error_3 = _g.sent();
22906
+ console.log("Error in getting users", error_3);
22574
22907
  setLoading(false);
22575
22908
  return [3 /*break*/, 4];
22576
22909
  case 4: return [2 /*return*/];
@@ -22594,7 +22927,7 @@ var CreditTransferComponent = function (props) {
22594
22927
  }
22595
22928
  }, []);
22596
22929
  var handleRequestOk = function (reqId, remarks, endpoint, successText, isRetire) { return __awaiter(void 0, void 0, void 0, function () {
22597
- var response, successMsg, error_3;
22930
+ var response, successMsg, error_4;
22598
22931
  return __generator(this, function (_a) {
22599
22932
  switch (_a.label) {
22600
22933
  case 0:
@@ -22624,10 +22957,10 @@ var CreditTransferComponent = function (props) {
22624
22957
  setModalVisible(false);
22625
22958
  return [3 /*break*/, 4];
22626
22959
  case 3:
22627
- error_3 = _a.sent();
22628
- console.log("Error in Cancelling transfer request", error_3);
22960
+ error_4 = _a.sent();
22961
+ console.log("Error in Cancelling transfer request", error_4);
22629
22962
  setLoading(false);
22630
- return [2 /*return*/, error_3.message];
22963
+ return [2 /*return*/, error_4.message];
22631
22964
  case 4: return [2 /*return*/];
22632
22965
  }
22633
22966
  });
@@ -22976,7 +23309,7 @@ var CreditTransferComponent = function (props) {
22976
23309
  ]
22977
23310
  : undefined);
22978
23311
  } }, t("view:seeMine")),
22979
- (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY && (React.createElement(antd.Checkbox, { className: "label", onChange: function (v) {
23312
+ (userInfoState === null || userInfoState === void 0 ? void 0 : userInfoState.companyRole) === exports.CompanyRole.MINISTRY && (React.createElement(antd.Checkbox, { className: "label ministry-level-filter-checkbox", onChange: function (v) {
22980
23313
  if (v.target.checked) {
22981
23314
  setMinistryLevelFilter(true);
22982
23315
  }
@@ -22989,7 +23322,13 @@ var CreditTransferComponent = function (props) {
22989
23322
  return e.target.value === ""
22990
23323
  ? setSearch(e.target.value)
22991
23324
  : setSearchText(e.target.value);
22992
- }, onSearch: setSearch, style: { width: 265 } }))))),
23325
+ }, onSearch: setSearch, style: { width: 265 } })),
23326
+ React.createElement("div", { className: "download-data-btn" },
23327
+ React.createElement("a", { onClick: downloadTransferData },
23328
+ React.createElement(icons.DownloadOutlined, { style: {
23329
+ color: "rgba(58, 53, 65, 0.3)",
23330
+ fontSize: "20px",
23331
+ } })))))),
22993
23332
  React.createElement(antd.Row, null,
22994
23333
  React.createElement(antd.Col, { span: 24 },
22995
23334
  React.createElement("div", { className: "programmeManagement-table-container" },