@hisptz/dhis2-analytics 2.0.33 → 2.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/components/Scorecard/Scorecard.stories.js +61 -38
  2. package/dist/components/Scorecard/Scorecard.stories.js.map +1 -1
  3. package/dist/components/Scorecard/components/DataProvider.js +25 -4
  4. package/dist/components/Scorecard/components/DataProvider.js.map +1 -1
  5. package/dist/components/Scorecard/components/LoadingIndicator.js +24 -8
  6. package/dist/components/Scorecard/components/LoadingIndicator.js.map +1 -1
  7. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +14 -5
  8. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
  9. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +7 -3
  10. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
  11. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +7 -1
  12. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
  13. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +14 -1
  14. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  15. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +20 -3
  16. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  17. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +6 -1
  18. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  19. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +20 -0
  20. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -1
  21. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +9 -1
  22. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  23. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +3 -0
  24. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  25. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +18 -1
  26. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  27. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -1
  28. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  29. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +4 -1
  30. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  31. package/dist/components/Scorecard/components/TableStateProvider.js +1 -0
  32. package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -1
  33. package/dist/components/Scorecard/hooks/cellData.js.map +1 -1
  34. package/dist/components/Scorecard/hooks/data.js +18 -22
  35. package/dist/components/Scorecard/hooks/data.js.map +1 -1
  36. package/dist/components/Scorecard/hooks/dataEngine.js +8 -0
  37. package/dist/components/Scorecard/hooks/dataEngine.js.map +1 -0
  38. package/dist/components/Scorecard/hooks/table.js.map +1 -1
  39. package/dist/components/Scorecard/hooks/value.js +7 -1
  40. package/dist/components/Scorecard/hooks/value.js.map +1 -1
  41. package/dist/esm/components/Scorecard/Scorecard.stories.js +61 -38
  42. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -1
  43. package/dist/esm/components/Scorecard/components/DataProvider.js +25 -6
  44. package/dist/esm/components/Scorecard/components/DataProvider.js.map +1 -1
  45. package/dist/esm/components/Scorecard/components/LoadingIndicator.js +21 -9
  46. package/dist/esm/components/Scorecard/components/LoadingIndicator.js.map +1 -1
  47. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +15 -6
  48. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
  49. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +7 -3
  50. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
  51. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +7 -1
  52. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
  53. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +14 -1
  54. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  55. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +21 -4
  56. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  57. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +2 -1
  58. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  59. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +20 -0
  60. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -1
  61. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +9 -1
  62. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  63. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +2 -0
  64. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  65. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +19 -2
  66. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  67. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -1
  68. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  69. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +4 -1
  70. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  71. package/dist/esm/components/Scorecard/components/TableStateProvider.js +1 -0
  72. package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -1
  73. package/dist/esm/components/Scorecard/hooks/cellData.js.map +1 -1
  74. package/dist/esm/components/Scorecard/hooks/data.js +18 -22
  75. package/dist/esm/components/Scorecard/hooks/data.js.map +1 -1
  76. package/dist/esm/components/Scorecard/hooks/dataEngine.js +6 -0
  77. package/dist/esm/components/Scorecard/hooks/dataEngine.js.map +1 -0
  78. package/dist/esm/components/Scorecard/hooks/table.js.map +1 -1
  79. package/dist/esm/components/Scorecard/hooks/value.js +8 -2
  80. package/dist/esm/components/Scorecard/hooks/value.js.map +1 -1
  81. package/dist/types/components/Scorecard/components/DataProvider.d.ts +6 -3
  82. package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +1 -1
  83. package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts +4 -1
  84. package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts.map +1 -1
  85. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -1
  86. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +4 -1
  87. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -1
  88. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -1
  89. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +4 -2
  90. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
  91. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -1
  92. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -1
  93. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +1 -1
  94. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -1
  95. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -1
  96. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -1
  97. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -1
  98. package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +1 -1
  99. package/dist/types/components/Scorecard/hooks/data.d.ts +2 -11
  100. package/dist/types/components/Scorecard/hooks/data.d.ts.map +1 -1
  101. package/dist/types/components/Scorecard/hooks/dataEngine.d.ts +2 -0
  102. package/dist/types/components/Scorecard/hooks/dataEngine.d.ts.map +1 -0
  103. package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -1
  104. package/dist/types/components/Scorecard/hooks/value.d.ts.map +1 -1
  105. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"AAAA;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,OAIM;AACP,SAAS,uBAAuB;AAKhC,SAAS,WAAW,SAAS,gBAAgB;AAC7C;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAA6B,uBAAuB;AACpD,SAAS,SAAS,cAAc;AAEhC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAEjC,SAAS,aAAa;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AACD,GAIoB;AACnB,SAAO,KAAK,OAAO,CAAC,UAAU;AAC7B,QAAI,gBAAgB;AACnB,aAAO,IACL,WAAY,YAAY,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,EAC1C,SAAS,MAAM,EAAG;AAAA,IACrB;AACA,WAAO,MAAM,OAAO,IAAI,QAAS;AAAA,EAClC,CAAC;AACF;AAEA,SAAS,WAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAOG;AACF,MAAI,CAAC,WAAW,QAAQ;AACvB,WAAO,CAAC;AAAA,EACT;AACA,QAAM,aAAuB,CAAC;AAC9B,QAAM,qBAAqB,KAAK,IAAI,CAAC,KAAK,UAAU;AACnD,UAAM,SAAS,aAAa;AAAA,MAC3B;AAAA,MACA,MAAM,WAAW;AAAA,MACjB;AAAA,IACD,CAAC;AACD,UAAM,UAAU,OAAO,QAAQ,CAAC,EAAE,MAAM,MAAM,WAAW,KAAM,CAAC;AAChE,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD,CAAC;AACD,MAAI,CAAC,WAAW;AAEf,UAAMA,aAAY,mBAChB,OAAO,CAAC,EAAE,OAAO,MAAM,QAAQ,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,eAAW,KAAK,GAAGA,UAAS;AAAA,EAC7B;AAEA,MAAI,uBAAuB,OAAO;AACjC,UAAM,UAAU,gBAAgB;AAAA,MAC/B,YAAY,WAAW;AAAA,MACvB;AAAA,IACD,CAAC;AACD,QAAI,uBAAuB,iBAAiB;AAC3C,YAAM,mBAAmB,mBACvB,OAAO,CAAC,EAAE,SAAS,WAAW,MAAM,aAAa,OAAO,EACxD,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,iBAAW,KAAK,GAAG,gBAAgB;AAAA,IACpC,OAAO;AACN,YAAM,mBAAmB,mBACvB,OAAO,CAAC,EAAE,SAAS,WAAW,MAAM,aAAa,OAAO,EACxD,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,iBAAW,KAAK,GAAG,gBAAgB;AAAA,IACpC;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,eAAqC;AAC7C,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,MAAM,WAAW,IAAI,iBAAiB;AAC9C,QAAM,iBAAiB,0BAAmC;AAAA,IACzD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,gBAAgB,0BAAmC;AAAA,IACxD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,YAAY,0BAAmC;AAAA,IACpD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,qBAAqB,0BAEzB,CAAC,WAAW,oBAAoB,CAAC;AAEnC,QAAM,SAAS,mBAAmB;AAElC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAmB,CAAC,CAAC;AAErE,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAMC,QAAO,gBAAgB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,QAAI,QAAQ,gBAAgB,GAAG;AAC9B,aAAOA;AAAA,IACR;AAEA,WAAOA,MAAK,OAAO,CAAC,GAAG,UAAU,CAAC,iBAAiB,SAAS,KAAK,CAAC;AAAA,EACnE,GAAG,CAAC,MAAM,gBAAgB,eAAe,QAAQ,gBAAgB,CAAC;AAElE,YAAU,MAAM;AACf,UAAM,WAAW,CAAC,SAAmC;AACpD,UAAI,SAAS,QAAQ;AACpB;AAAA,UACC,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AACA,QAAI,WAAW,QAAQ;AACtB;AAAA,QACC,WAAW;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,OAAO;AACN,iBAAW,YAAY,QAAQ;AAAA,IAChC;AACA,WAAO,MAAM;AACZ,iBAAW,eAAe,QAAQ;AAAA,IACnC;AAAA,EACD,GAAG,CAAC,oBAAoB,WAAW,cAAc,CAAC;AAElD,SAAO;AACR;AAEO,SAAS,gBAAkD;AACjE,QAAM,oBAAoB,0BAAmC;AAAA,IAC5D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,iBAAiB,0BAAmC;AAAA,IACzD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAA6B,CAAC,CAAC;AACzE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAA0B;AAAA,IACzE,SAAS;AAAA,IACT,OAAO;AAAA,EACR,CAAC;AAED,QAAM,CAAC,SAAS,UAAU,IAAI,SAAuB,CAAC,CAAC;AACvD,QAAM,UAAU,gBAAgB;AAChC,QAAM,OAAO,aAAa;AAE1B,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IAEA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,iBAAiB,gBAAgB;AAAA,IACjC,qBAAqB,oBAAoB;AAAA,IACzC,mBAAmB,kBAAkB;AAAA,IACrC,0BAA0B;AAAA,EAC3B;AACD","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nfunction getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nfunction filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nfunction useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\tconst emptyRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelector<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tshowHierarchy,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, showHierarchy, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tdataEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tdataEngine.removeListener(listener);\n\t\t};\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst showAverageColumn = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t});\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn {\n\t\tcolumns,\n\t\tdata,\n\t\tstate: {\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t},\n\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tonSortingChange: setSorting,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnVisibilityChange: setColumnVisibility,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nfunction getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nfunction filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nfunction useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\tconst emptyRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelector<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tshowHierarchy,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, showHierarchy, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tdataEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tdataEngine.removeListener(listener);\n\t\t};\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst showAverageColumn = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t});\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn {\n\t\tcolumns,\n\t\tdata,\n\t\tstate: {\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t},\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tonSortingChange: setSorting,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnVisibilityChange: setColumnVisibility,\n\t};\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { useScorecardData } from '../components/DataProvider';
3
3
  import { getValues } from '../utils/columns';
4
- import { every, meanBy } from 'lodash';
4
+ import { every, isEqual, meanBy } from 'lodash';
5
5
 
6
6
  function getDataValues({
7
7
  data,
@@ -59,7 +59,13 @@ function useCellValue(dataConfig) {
59
59
  } else {
60
60
  const values = getDataValues({ data, dataConfig });
61
61
  const hasValues = every(values, (value) => !!value.data);
62
- setCellData(values);
62
+ setCellData((prevState) => {
63
+ if (isEqual(prevState, values)) {
64
+ return prevState;
65
+ } else {
66
+ return values;
67
+ }
68
+ });
63
69
  if (hasValues) {
64
70
  scorecardEngine.removeListener(listener);
65
71
  setLoading(false);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/value.ts"],"names":["data"],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n} from \"../schemas/config\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport type { DataEngineListener } from \"../utils/dataEngine\";\nimport type { AnalyticsData } from \"../utils/data\";\nimport { getValues } from \"../utils/columns\";\nimport { every, meanBy } from \"lodash\";\n\nfunction getDataValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData[] {\n\treturn dataConfig.dataSources.map((dataSource) => {\n\t\tconst filteredData = data.filter((data) => {\n\t\t\treturn (\n\t\t\t\tdata.dx === dataSource.id &&\n\t\t\t\tdata.ou === dataConfig.orgUnit.uid &&\n\t\t\t\t[dataConfig.currentPeriod, dataConfig.previousPeriod].includes(\n\t\t\t\t\tdata.pe,\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\tconst value = getValues({\n\t\t\tcurrentPeriod: dataConfig.currentPeriod!,\n\t\t\tpreviousPeriod: dataConfig.previousPeriod,\n\t\t\tvalues: filteredData,\n\t\t});\n\n\t\tif (!value.current) {\n\t\t\treturn {\n\t\t\t\t...dataSource,\n\t\t\t\tdata: {\n\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\tprevious: undefined,\n\t\t\t\t},\n\t\t\t} as ScorecardCellData;\n\t\t}\n\n\t\treturn {\n\t\t\t...dataSource,\n\t\t\tdata: value,\n\t\t} as ScorecardCellData;\n\t});\n}\n\nexport function useCellValue(dataConfig: ScorecardTableCellConfig) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData((prevState) => {\n\t\t\t\t\treturn prevState.map((value) => {\n\t\t\t\t\t\tif (!value.data) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\t\t\t\t\tprevious: undefined,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst values = getDataValues({ data, dataConfig });\n\t\t\t\tconst hasValues = every(values, (value) => !!value.data);\n\t\t\t\tsetCellData(values);\n\t\t\t\tif (hasValues) {\n\t\t\t\t\tscorecardEngine.removeListener(listener);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst values = getDataValues({\n\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\tdataConfig,\n\t\t\t});\n\t\t\tsetCellData(values);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getDataHolderAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\treturn (\n\t\tdataConfig.dataHolder?.dataSources.map((source) => {\n\t\t\tconst dataValues = data.filter((datum) => {\n\t\t\t\treturn datum.dx === source.id;\n\t\t\t});\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...source,\n\t\t\t\tdata: {\n\t\t\t\t\taverage,\n\t\t\t\t},\n\t\t\t};\n\t\t}) ?? []\n\t);\n}\n\nexport function useDataHolderAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardAverageCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData(\n\t\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetCellData(\n\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getOrgUnitAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): number {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn datum.ou === dataConfig.orgUnit!.uid;\n\t});\n\n\treturn meanBy(dataValues, (value) => parseFloat(value.value!));\n}\n\nexport function useOrgUnitAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number | null>(null);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetAverage(\n\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\taverage,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/value.ts"],"names":["data"],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n} from \"../schemas/config\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport type { DataEngineListener } from \"../utils/dataEngine\";\nimport type { AnalyticsData } from \"../utils/data\";\nimport { getValues } from \"../utils/columns\";\nimport { every, isEqual, meanBy } from \"lodash\";\n\nfunction getDataValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData[] {\n\treturn dataConfig.dataSources.map((dataSource) => {\n\t\tconst filteredData = data.filter((data) => {\n\t\t\treturn (\n\t\t\t\tdata.dx === dataSource.id &&\n\t\t\t\tdata.ou === dataConfig.orgUnit.uid &&\n\t\t\t\t[dataConfig.currentPeriod, dataConfig.previousPeriod].includes(\n\t\t\t\t\tdata.pe,\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\tconst value = getValues({\n\t\t\tcurrentPeriod: dataConfig.currentPeriod!,\n\t\t\tpreviousPeriod: dataConfig.previousPeriod,\n\t\t\tvalues: filteredData,\n\t\t});\n\n\t\tif (!value.current) {\n\t\t\treturn {\n\t\t\t\t...dataSource,\n\t\t\t\tdata: {\n\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\tprevious: undefined,\n\t\t\t\t},\n\t\t\t} as ScorecardCellData;\n\t\t}\n\n\t\treturn {\n\t\t\t...dataSource,\n\t\t\tdata: value,\n\t\t} as ScorecardCellData;\n\t});\n}\n\nexport function useCellValue(dataConfig: ScorecardTableCellConfig) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData((prevState) => {\n\t\t\t\t\treturn prevState.map((value) => {\n\t\t\t\t\t\tif (!value.data) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\t\t\t\t\tprevious: undefined,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst values = getDataValues({ data, dataConfig });\n\t\t\t\tconst hasValues = every(values, (value) => !!value.data);\n\t\t\t\tsetCellData((prevState) => {\n\t\t\t\t\tif (isEqual(prevState, values)) {\n\t\t\t\t\t\treturn prevState;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn values;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (hasValues) {\n\t\t\t\t\tscorecardEngine.removeListener(listener);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst values = getDataValues({\n\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\tdataConfig,\n\t\t\t});\n\t\t\tsetCellData(values);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getDataHolderAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\treturn (\n\t\tdataConfig.dataHolder?.dataSources.map((source) => {\n\t\t\tconst dataValues = data.filter((datum) => {\n\t\t\t\treturn datum.dx === source.id;\n\t\t\t});\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...source,\n\t\t\t\tdata: {\n\t\t\t\t\taverage,\n\t\t\t\t},\n\t\t\t};\n\t\t}) ?? []\n\t);\n}\n\nexport function useDataHolderAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardAverageCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData(\n\t\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetCellData(\n\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getOrgUnitAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): number {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn datum.ou === dataConfig.orgUnit!.uid;\n\t});\n\n\treturn meanBy(dataValues, (value) => parseFloat(value.value!));\n}\n\nexport function useOrgUnitAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number | null>(null);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetAverage(\n\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\taverage,\n\t};\n}\n"]}
@@ -1,12 +1,15 @@
1
1
  import { type ReactNode } from "react";
2
- import type { ScorecardAnalyticsData } from "../schemas/config";
3
2
  import { type ScorecardDataEngine } from "../utils/dataEngine";
4
3
  export interface ScorecardData {
5
- progress?: number;
6
4
  data: ScorecardDataEngine;
7
- rawData: ScorecardAnalyticsData[];
8
5
  }
9
6
  export declare function useScorecardData(): ScorecardData;
7
+ export declare function useScorecardDataFetchProgress(): {
8
+ progress: number;
9
+ };
10
+ export declare function ScorecardDataFetchProgressProvider({ children, }: {
11
+ children: ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
10
13
  export declare function ScorecardDataProvider({ children }: {
11
14
  children: ReactNode;
12
15
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAQD,wBAAgB,gBAAgB,kBAE/B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAO1E"}
1
+ {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAE1E,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAUD,wBAAgB,gBAAgB,kBAE/B;AAED,wBAAgB,6BAA6B;;EAE5C;AAED,wBAAgB,kCAAkC,CAAC,EAClD,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;CACpB,2CASA;AAED,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAW1E"}
@@ -1,2 +1,5 @@
1
- export declare function LoadingIndicator(): import("react/jsx-runtime").JSX.Element | null;
1
+ import type { RefObject } from "react";
2
+ export declare function LoadingIndicator({ tableRef, }: {
3
+ tableRef: RefObject<HTMLTableElement>;
4
+ }): import("react/jsx-runtime").JSX.Element | null;
2
5
  //# sourceMappingURL=LoadingIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/LoadingIndicator.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,mDAoB/B"}
1
+ {"version":3,"file":"LoadingIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/LoadingIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,wBAAgB,gBAAgB,CAAC,EAChC,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACtC,kDA2BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DAkDzB,CAAC"}
1
+ {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DAwDzB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { type Row } from "@tanstack/react-table";
2
2
  import type { ScorecardTableData } from "../../../schemas/config";
3
- declare function TableRowComponent({ row }: {
3
+ import type { VirtualItem, Virtualizer } from "@tanstack/react-virtual";
4
+ declare function TableRowComponent({ row, virtualRow, virtualizer, }: {
4
5
  row: Row<ScorecardTableData>;
6
+ virtualRow?: VirtualItem;
7
+ virtualizer?: Virtualizer<HTMLDivElement, any>;
5
8
  }): import("react/jsx-runtime").JSX.Element;
6
9
  export declare const TableRow: typeof TableRowComponent;
7
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DataRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAEX,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAOjC,iBAAS,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;CAAE,2CAoDnE;AAED,eAAO,MAAM,QAAQ,0BAAoB,CAAC"}
1
+ {"version":3,"file":"DataRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAEX,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE,iBAAS,iBAAiB,CAAC,EAC1B,GAAG,EACH,UAAU,EACV,WAAW,GACX,EAAE;IACF,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;CAC/C,2CA4DA;AAED,eAAO,MAAM,QAAQ,0BAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetaFooterCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,4CAW7B"}
1
+ {"version":3,"file":"MetaFooterCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,4CAsB7B"}
@@ -1,3 +1,5 @@
1
- /// <reference types="react" />
2
- export declare const TableBody: import("react").NamedExoticComponent<object>;
1
+ import { type RefObject } from "react";
2
+ export declare const TableBody: import("react").NamedExoticComponent<{
3
+ tableRef: RefObject<HTMLTableElement>;
4
+ }>;
3
5
  //# sourceMappingURL=TableBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,SAAS,8CAUpB,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAItD,eAAO,MAAM,SAAS;cAGX,UAAU,gBAAgB,CAAC;EA4CpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":";AAKA,eAAO,MAAM,WAAW,8CAmBtB,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,WAAW,8CAmBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,kDAQzE"}
1
+ {"version":3,"file":"ExpandCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,kDAiBzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterArea.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CA0BrD"}
1
+ {"version":3,"file":"FilterArea.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAOpD,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CA2BrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAoCvD;AAED,eAAO,MAAM,SAAS,gEAA2B,CAAC"}
1
+ {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAQvC,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAyDvD;AAED,eAAO,MAAM,SAAS,gEAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,iBAAS,uBAAuB,CAAC,EAChC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAuDxC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
1
+ {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,iBAAS,uBAAuB,CAAC,EAChC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CA2DxC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAcvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
1
+ {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAmBvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAgBlE,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG5B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAQvE"}
1
+ {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAgBlE,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG5B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAUvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cellData.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/cellData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EAEjB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,WAAW,CAAC,EAC3B,UAAU,EACV,OAAO,EACP,MAAM,GACN,EAAE;IACF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;CACf;;;;;;;;EAsBA"}
1
+ {"version":3,"file":"cellData.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/cellData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,WAAW,CAAC,EAC3B,UAAU,EACV,OAAO,EACP,MAAM,GACN,EAAE;IACF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;CACf;;;;;;;;EAsBA"}
@@ -1,3 +1,4 @@
1
+ import type { ScorecardDataEngine } from "../utils/dataEngine";
1
2
  export interface ScorecardDataQueryResponse {
2
3
  data: {
3
4
  headerWidth: number;
@@ -13,17 +14,7 @@ export interface ScorecardDataQueryResponse {
13
14
  width: number;
14
15
  };
15
16
  }
16
- export declare function useGetScorecardData(): {
17
- data: {
18
- data: import("../utils/data").AnalyticsData[];
19
- isDone: boolean;
20
- listeners: import("../utils/dataEngine").DataEngineListener[];
21
- addListener(listener: import("../utils/dataEngine").DataEngineListener): void;
22
- removeListener(listener: import("../utils/dataEngine").DataEngineListener): import("../utils/dataEngine").DataEngineListener[];
23
- updateData(data: import("../utils/data").AnalyticsData[]): void;
24
- complete(): void;
25
- clear(): void;
26
- };
17
+ export declare function useGetScorecardData(dataEngine: ScorecardDataEngine): {
27
18
  rawData: never[];
28
19
  progress: number;
29
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/data.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,IAAI,EAAE,OAAO,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAID,wBAAgB,mBAAmB;;;;;;;;;;;;;EA8KlC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/data.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AA0B/D,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,IAAI,EAAE,OAAO,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAID,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,mBAAmB;;;EA4KlE"}
@@ -0,0 +1,2 @@
1
+ export declare function useScorecardDataEngine(): void;
2
+ //# sourceMappingURL=dataEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataEngine.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/dataEngine.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,SAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,YAAY,EAEjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,mBAAmB,CAAC;AA4K3B,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAmChE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,YAAY,EAEjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,mBAAmB,CAAC;AA4K3B,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAkChE"}
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGX,+BAA+B,EAC/B,wBAAwB,EACxB,MAAM,mBAAmB,CAAC;AAgD3B,wBAAgB,YAAY,CAAC,UAAU,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDhE;AA4BD,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3C;AAgBD,wBAAgB,0BAA0B,CACzC,UAAU,EAAE,+BAA+B;;;EAwC3C"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGX,+BAA+B,EAC/B,wBAAwB,EACxB,MAAM,mBAAmB,CAAC;AAgD3B,wBAAgB,YAAY,CAAC,UAAU,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DhE;AA4BD,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3C;AAgBD,wBAAgB,0BAA0B,CACzC,UAAU,EAAE,+BAA+B;;;EAwC3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-analytics",
3
- "version": "2.0.33",
3
+ "version": "2.0.35",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -52,6 +52,7 @@
52
52
  "@dnd-kit/utilities": "^3.2.2",
53
53
  "@react-leaflet/core": "^2.1.0",
54
54
  "@tanstack/react-table": "^8.19.3",
55
+ "@tanstack/react-virtual": "^3.10.8",
55
56
  "async-es": "^3.2.5",
56
57
  "d3-color": "^3.1.0",
57
58
  "d3-scale": "^4.0.2",