sccoreui
Version:
ui-sccore
244 lines (243 loc) • 14.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const parent_for_grid_1 = tslib_1.__importDefault(require("../../components/ag-grid/parent-for-grid"));
const type_1 = require("../../components/types/type");
const constants_1 = require("../../components/ag-grid/constants");
const Template_1 = tslib_1.__importDefault(require("./Template"));
const accesToken = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6InBhdmFua3VtYXJAc2VsbGVyc2NvbW1lcmNlLmNvbSIsImVtYWlsIjoicGF2YW5rdW1hckBzZWxsZXJzY29tbWVyY2UuY29tIiwibmFtZWlkIjoiYTljYjhhMjQtZGMwNS00YjI3LWIyMWEtMDM0NTVmNjVmNzYwIiwiRmlyc3ROYW1lIjoiUGF2YW4iLCJMYXN0TmFtZSI6Ikt1bWFyIiwiU2Vzc2lvbiI6IjEzZjNhMzhjLWI2ZmMtNDFjZS1hNWI5LTk0NDIzNzdhMTI4NCIsIk9yaWdpbiI6Im9yZzIuZWFzeWZhc3Rub3cuY29tIiwiQXBwUmVmZXJlbmNlIjoiOWE1NjI3ZDQtNGI2Yi00OWFiLTg0MzItMjE4MzkyY2UzMmYxIiwiYXVkIjpbIkNDRGV2Q01TQ29tbWFuZEFQSSIsIkRldk9uZVNvdXJjZUFQSSIsIk5vZGVDb21tb25TZXJ2aWNlIiwiQ0NEZXZDTVNRdWVyaWVzQVBJIiwiQ0NEZXZDTVNDb21tYW5kQVBJIiwiQ0NEZXZBY2NvdW50Q29tbWFuZEFQSSIsIkNDRGV2QWNjb3V0UXVlcmllc0FQSSIsIkNDRGV2QXV0aFN5bmNDb21tYW5kQVBJIiwiQ0NEZXZDb3JlQ29udHJvbENvbW1hbmRBUEkiLCJDQ0RldkNvcmVDb250cm9sUXVlcmllc0FQSSIsIkNDRGV2Q3VzdG9tZXJDb21tYW5kQVBJIiwiQ0NEZXZDdXN0b21lclF1ZXJpZXNBUEkiLCJDQ0RldlBheW1lbnRDb25maWdDb21tYW5kQVBJIiwiQ0NEZXZQYXltZW50Q29uZmlnUXVlcmllc0FQSSIsIkNDRGV2UE1Db21tYW5kQVBJIiwiQ0NEZXZQTVF1ZXJpZXNBUEkiLCJDQ0RldlByb2R1Y3RzQ29tbWFuZEFQSSIsIkNDRGV2UnVsZUNvbW1hbmRBUEkiLCJDQ0RldlJ1bGVRdWVyaWVzQVBJIiwiQ0NEZXZTYWxlc0NvbW1hbmRBUEkiLCJDQ0RldlNlYXJjaENvbW1hbmRBUEkiLCJDQ0RldlNlYXJjaFF1ZXJpZXNBUEkiLCJDQ0RldlNoaXBwaW5nQ29tbWFuZEFQSSIsIkNDRGV2U2hpcHBpbmdRdWVyaWVzQVBJIiwiQ0NEZXZUYXhDb25maWdDb21tYW5kQVBJIiwiQ0NEZXZUYXhDb25maWdRdWVyaWVzQVBJIiwiQ0NEZXZVTVF1ZXJpZXNBUEkiLCJDQ0RldldJQ29tbWFuZEFQSSIsIkNDRGV2V0lRdWVyaWVzQVBJIiwiQ0NEZXZXZWJzaXRlQ29tbWFuZEFQSSIsIkNDRGV2V2Vic2l0ZVF1ZXJpZXNBUEkiLCJDQ0Rldk1hcmtldGluZ0NvbW1hbmRBUEkiLCJDQ0Rldk1hcmtldGluZ1F1ZXJpZXNBUEkiLCJDQ0RldkltcG9ydHNDb21tYW5kQVBJIiwiQ0NEZXZJbXBvcnRzUXVlcmllc0FQSSIsIkNDRGV2TWFjcm9zQ29tbWFuZEFQSSIsIkNDRGV2TWFjcm9zUXVlcmllc0FQSSIsIkRldkltcG9ydENvbW1hbmRBUEkiLCJEZXZJbXBvcnRRdWVyaWVzQVBJIiwiQ0NEZXZFdmVudFJlZ2lzdGVyQ29tbWFuZEFQSSJdLCJzY29wZSI6IiIsIm5iZiI6MTc0MzYyMDE3MSwiZXhwIjoxNzQzNjIzNzcxLCJpYXQiOjE3NDM2MjAxNzEsImlzcyI6ImVkZ2UtZGV2LWlzc3VlciJ9.cxsVnlUPpzC3RQe6lzbZV1gu2DxKVTOP30My57MgZI4z_x_Ca0iR-jLoA8en1laCdU--9jFw-yyMz-BdfjMR-yRfCv-WBG00Y7p7ItYaSXgQCnWrrNYT49ZZfyQLsTq8jbK1Cdz2F7OrHDgdaAK-YCvvgzlcgj7ZPY3QDJ0cwOZCz0Kt1YfiZ4ICsIq9RWxyIrLT9VD3_28d0joTahxSpEgRVL0NRxA3J7vSl7CWvoyNLr1hXwtKTci2YkVvA7n6ZCJOMktbuMcWOssb4bFrk3n6GhfBfbsqCo968I3N-v-L1nGqHap8OiSe6YdpDV9BpQr8T0TpkmiHouezgD42IQ";
const dynamicText = {
filterModelText: {
header: "Filter",
subHeader: "Streamline Your Search With Filters",
resetFilterAction: "Reset Filter",
createViewInputPlaceHolder: "Enter",
createViewAction: "Create View",
applyAction: "Apply",
elementOnePlaceHolder: "Select",
elementTwoPlaceHolder: "Select",
elementThreePlaceHolder_Input: "Enter Text",
elementThreePlaceHolder_Input_Number: "Enter Number",
elementThreePlaceHolder_DropDown: "Select",
elementThreePlaceHolder_MultiSelect: "Select",
elementThreePlaceHolder_Calender: "Select Date",
onSelectedFilter: "Selected",
},
sortModelText: {
header: "Column Sorting",
clearAction: "Clear",
applyAction: "Apply",
onSelectedSort: "Selected",
},
recordDetailModelText: {
totalRecordHeader: "Total Records",
},
sidePanelText: {
header: "Configure Columns",
disacrd_button: "Discard",
update_button: "Update",
apply_to_all_views: "Apply to all views",
apply_subHeading: "Apply the chosen column selection to all available views",
search_placeHolder: "Search by column name",
selected_attributes: "Selected Attributes",
unselected_attributes: " Attributes",
},
};
const DataTableComponent = () => {
const [activeColumns, setActiveColumns] = (0, react_1.useState)([]);
const [gridKey, setGridKey] = (0, react_1.useState)(1);
const [isColumnsLoading, setIsColumnsLoading] = (0, react_1.useState)(true);
// const noRowsTemplateRef = useRef<any>();
const [initCall,] = (0, react_1.useState)(true);
const [gridForEdit,] = (0, react_1.useState)(false);
const [isCheckboxEmpty,] = (0, react_1.useState)(false);
const [clearFilters,] = (0, react_1.useState)([]);
// const [gridRefresh, setGridRefresh] = useState<boolean>(false)
// const {
// refetch,
// data: activeView,
// isLoading: isViewsLoading,
// } = useQuery({
// queryKey: ["views", gridUniqueKey],
// queryFn: () => getGridColumns({
// queryKey: [
// "views",
// { screenId: columnQueryKey || queryKey, viewId: allViewId, interCeptorPost, interCeptorGet, gridUniqueKey },
// ]
// }),
// enabled: false,
// });
const getColumns = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
var _a, _b, _c;
try {
const response = yield fetch("https://paymentconfig_queriesapi.easyfastnow.com/api/grid/get-meta-data?screenId=1&viewId=1", {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accesToken}`,
'x-origin-url': 'https://org2.easyfastnow.com', // Add an extra custom header
}
});
const data = yield response.json();
if ((_a = data === null || data === void 0 ? void 0 : data.response) === null || _a === void 0 ? void 0 : _a.columns) {
getAllRenderedColumns((_b = data === null || data === void 0 ? void 0 : data.response) === null || _b === void 0 ? void 0 : _b.columns);
console.log((_c = data === null || data === void 0 ? void 0 : data.response) === null || _c === void 0 ? void 0 : _c.columns, "response-data");
}
}
catch (error) {
}
});
function generateUniqueId() {
const timestamp = Date.now().toString().slice(-4); // Last 4 digits of timestamp
const randomPart = Math.floor(100000 + Math.random() * 900000).toString(); // 6 random digits
return timestamp + randomPart; // 10-digit unique ID
}
const getAllRenderedColumns = (columnsData) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
if (columnsData) {
const columns = columnsData.map((column, index) => {
var _a, _b;
const fieldDisplayName = column.fieldDisplayName || "";
const capitalizedDisplayName = fieldDisplayName
.toLowerCase()
.split(" ")
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join(" ");
const obj = {
enableHeaderCheckbox: column.isEnableHeaderCheckbox,
enableChildCheckbox: column.isEnableHeaderCheckbox,
hide: column === null || column === void 0 ? void 0 : column.isHide,
isFilterable: column.isFilterable,
isSortable: column.isSortable,
field: column.fieldName,
dataType: (column === null || column === void 0 ? void 0 : column.datatype) ? column.datatype : 1,
visibleInPanel: column.isDisplayInPanel,
suppressMovable: true,
minWidth: 200,
id: (column === null || column === void 0 ? void 0 : column.fieldId) || generateUniqueId(),
headerName: capitalizedDisplayName,
headerTooltip: capitalizedDisplayName,
columnType: "",
seq: (column === null || column === void 0 ? void 0 : column.seq) || index + 1,
suppressFillHandle: (_b = (_a = column === null || column === void 0 ? void 0 : column.suppressFillHandle) !== null && _a !== void 0 ? _a : gridForEdit) !== null && _b !== void 0 ? _b : true,
};
if (column.isPinned) {
Object.assign(obj, {
pinned: "left",
lockPosition: "left",
cellClass: "lock-pinned",
minWidth: 350,
visibleInPanel: false,
});
}
return obj;
});
setActiveColumns(columns);
}
// setGridRefresh(true)
setGridKey((state) => state + 1);
setIsColumnsLoading(false);
});
const BulkAction = (0, react_1.useCallback)(() => {
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}));
}, []);
(0, react_1.useEffect)(() => {
getColumns();
// refetch();
}, []);
// useEffect(() => {
// if (activeView) {
// getAllRenderedColumns(activeView);
// setAllFilters([activeView]);
// }
// }, [activeView]);
const setSelectedColumnsFun = () => {
// setBulkSelection(data);
};
const getGridRef = (0, react_1.useRef)(null);
// const NoDataTemplateForSearch = () => {
// const rowCount: number = getGridRef?.current!.api?.getDisplayedRowCount();
// const filterText: string = getGridRef?.current!.api?.getQuickFilter();
// const searchCondtion = Boolean(filterText) && rowCount === 0;
// if (searchCondtion) {
// return (
// <div className={`flex flex-column align-items-center h-10rem`}>
// <span className="py-0 my-0">No data found for your search results</span>
// </div>
// );
// } else {
// return (
// <div className={`flex flex-column align-items-center h-10rem`}>
// <h2 className="py-0 my-0">No data</h2>
// <span>Description</span>
// </div>
// );
// }
// };
const fetchDetails = (start, end, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
console.log(start, end, params, "params-changes");
const body = {
"pageIndex": 1,
"pageSize": 100,
"screenId": 1
};
try {
const response = yield fetch("https://paymentconfig_queriesapi.easyfastnow.com/api/grid/get-data", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accesToken}`,
'x-origin-url': 'https://org2.easyfastnow.com', // Add an extra custom header
},
body: JSON.stringify(body) // Convert JavaScript object to JSON string
});
const data = yield response.json();
// if (data?.response?.columns) {
// getAllRenderedColumns(data?.response?.columns)
// console.log(data?.response?.columns, "response-data")
// }
if (data === null || data === void 0 ? void 0 : data.response) {
return yield { rowData: [], totalRecords: 0 };
}
return yield { rowData: [], totalRecords: 0 };
}
catch (error) {
return yield { rowData: [], totalRecords: 0 };
}
});
const conditionsToDisplay = {
displayFilter: type_1.VisibilityState.ENABLE,
displaySort: type_1.VisibilityState.ENABLE,
displaySearch: type_1.VisibilityState.ENABLE,
displayBulkAction: type_1.VisibilityState.ENABLE,
displayRecords: type_1.VisibilityState.ENABLE,
displayRefresh: type_1.VisibilityState.ENABLE,
displaySidePanel: type_1.VisibilityState.HIDE,
displayRemoveItems: type_1.VisibilityState.ENABLE,
displayBulkEdit: type_1.VisibilityState.HIDE,
displayRowGroupingElement: type_1.VisibilityState.HIDE,
enableViewCreate: false,
enableFillHandle: false,
displayFeaturesHeader: true,
isGridAutoHeight: type_1.VisibilityState.ENABLE,
displayGridViewListView: type_1.VisibilityState.ENABLE
};
const style = {
height: "550px"
};
const rowModelType = constants_1.ROWMODELTYPE.CLIENT_SIDE;
const updateColumnsForGrid = () => "";
const BackupComponent = () => { return (0, jsx_runtime_1.jsx)("div", { children: "jasdbf" }); };
(0, react_1.useEffect)(() => {
var _a, _b;
if (getGridRef.current) {
(_b = (_a = getGridRef === null || getGridRef === void 0 ? void 0 : getGridRef.current) === null || _a === void 0 ? void 0 : _a.api) === null || _b === void 0 ? void 0 : _b.showLoadingOverlay();
}
}, [getGridRef.current]);
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("section", Object.assign({ style: { height: "calc(100vh - 64px)" } }, { children: false ? ((0, jsx_runtime_1.jsx)(BackupComponent, {})) : !isColumnsLoading ? ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: false ? "p-4 h-full" : "h-full" }, { children: !initCall ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Empty" })) : ((0, jsx_runtime_1.jsx)(parent_for_grid_1.default, { selectColumns: setSelectedColumnsFun, bulkActionComponent: BulkAction, gridKey: gridKey, columnData: activeColumns, clearFilters: clearFilters, dynamicText: dynamicText, placeholder: "Search by code or name", getRowData: fetchDetails, defaultFilters: [], enableManageColumnsCallback: false, conditionsToDisplay: conditionsToDisplay, rowModelType: rowModelType, style: {
height: style.height,
width: "100%",
}, gridViewTemplate: () => { }, updateColumnsForGrid: updateColumnsForGrid, shouldRefetch: true, noRowsOverlayComponent: () => { return (0, jsx_runtime_1.jsx)("div", { children: "Helo" }); }, getGridRef: getGridRef, emptyCheckboxStatus: isCheckboxEmpty, quickSearch: true, template: Template_1.default })) }))) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "jkasfd" })) })) }));
};
exports.default = DataTableComponent;