Code: Select all
useEffect(() => {
if (reportPayload && !isEmpty(datasetMetadata) && !isEmpty(payload)) {
const dataSet = new Stimulsoft.System.Data.DataSet('QueryHub');
const result = reportPayload;
// const result = payload;
// const result = payload;
const temp = result.map((item) => {
if (item.datasetKey === 'GL') {
const { dimensions, measures } = datasetMetadata || ({} as any);
const result = {};
const arrItems = [];
dimensions.map((dimension) => {
const { items } = dimension || {};
if (items && items.length > 0) arrItems.push(...items);
result[dimension.dimensionKey] = '';
return true;
});
measures.map((measure) => {
result[measure.measureKey] = '';
return true;
});
const payloadData = arrItems.map((item) => {
const finded =
(isArray(payload) && payload?.find((ele) => ele.DIM_BAL_GL === item.itemId)) || {};
return {
...result,
...(finded || {}),
LEDGER_BAL: finded.LEDGER_BAL || 0,
itemId: item.itemId,
parentId: item.parentId || null,
name: item.name,
};
});
console.log({ payloadData });
return { GL: payloadData };
}
return {
[item.datasetKey]: [item],
};
});
console.log({ temp });
dataSet.readJson(
JSON.stringify({
Metadata: temp,
}),
);
// report.dictionary.dataSources.clear();
// report.regData('');
viewer.report.dictionary.dataSources.clear();
viewer.report.regData('QueryHub', 'JSON', dataSet);
viewer.report.dictionary.synchronize();
viewer.report.renderAsync();
// viewer.postMessage('refresh');
// report.invokeRefreshViewer();
// if (!isReady) viewer.renderHtml('viewer');
// viewer.renderHtml('viewer');
// if (isReady) viewer.refreshViewer();
if (!isReady) viewer.renderHtml('viewer');
setIsReady(true);
}
}, [reportPayload, datasetMetadata, payload]);
<div id="viewer"></div>
{(fetchingData || metadataLoading || datasetLoading) && (
<div className="loading-overlay">
<div className="spinner"></div>
</div>
)}