@hisptz/dhis2-scorecard 1.1.9 → 1.2.0

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 (148) hide show
  1. package/dist/Scorecard.js +2 -2
  2. package/dist/Scorecard.js.map +1 -1
  3. package/dist/components/ColGroup.js +3 -9
  4. package/dist/components/ColGroup.js.map +1 -1
  5. package/dist/components/ScorecardHeader.js +8 -7
  6. package/dist/components/ScorecardHeader.js.map +1 -1
  7. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js +2 -2
  8. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  9. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js +3 -3
  10. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  11. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js +32 -37
  12. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  13. package/dist/components/ScorecardTable/ScorecardTable.js +6 -8
  14. package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
  15. package/dist/components/ScorecardTable/components/AverageCell.js +2 -5
  16. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  17. package/dist/components/ScorecardTable/components/DataFooterCell.js +2 -5
  18. package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  19. package/dist/components/ScorecardTable/components/DataValue.js +5 -8
  20. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  21. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js +6 -4
  22. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  23. package/dist/components/ScorecardTable/components/LinkedCell.js +2 -2
  24. package/dist/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  25. package/dist/components/ScorecardTable/components/TableFoot.js +2 -5
  26. package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
  27. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +4 -8
  28. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  29. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -5
  30. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  31. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js +2 -5
  32. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  33. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -13
  34. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  35. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +4 -6
  36. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  37. package/dist/components/StateProvider.js +40 -27
  38. package/dist/components/StateProvider.js.map +1 -1
  39. package/dist/esm/Scorecard.js +1 -1
  40. package/dist/esm/Scorecard.js.map +1 -1
  41. package/dist/esm/components/ColGroup.js +3 -9
  42. package/dist/esm/components/ColGroup.js.map +1 -1
  43. package/dist/esm/components/ScorecardHeader.js +8 -7
  44. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  45. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js +2 -2
  46. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  47. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js +3 -3
  48. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  49. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js +32 -37
  50. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  51. package/dist/esm/components/ScorecardTable/ScorecardTable.js +6 -8
  52. package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
  53. package/dist/esm/components/ScorecardTable/components/AverageCell.js +2 -5
  54. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  55. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +2 -5
  56. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  57. package/dist/esm/components/ScorecardTable/components/DataValue.js +5 -8
  58. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  59. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js +6 -4
  60. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  61. package/dist/esm/components/ScorecardTable/components/LinkedCell.js +2 -2
  62. package/dist/esm/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  63. package/dist/esm/components/ScorecardTable/components/TableFoot.js +2 -5
  64. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  65. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +4 -8
  66. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  67. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -5
  68. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  69. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js +2 -5
  70. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  71. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -13
  72. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  73. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +4 -6
  74. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  75. package/dist/esm/components/StateProvider.js +40 -29
  76. package/dist/esm/components/StateProvider.js.map +1 -1
  77. package/dist/esm/hooks/columns.js +8 -21
  78. package/dist/esm/hooks/columns.js.map +1 -1
  79. package/dist/esm/hooks/data.js +1 -1
  80. package/dist/esm/hooks/data.js.map +1 -1
  81. package/dist/esm/hooks/metadata.js +3 -7
  82. package/dist/esm/hooks/metadata.js.map +1 -1
  83. package/dist/esm/hooks/table.js +12 -34
  84. package/dist/esm/hooks/table.js.map +1 -1
  85. package/dist/esm/index.js +0 -1
  86. package/dist/esm/utils/dimensionState.js +133 -0
  87. package/dist/esm/utils/dimensionState.js.map +1 -0
  88. package/dist/esm/utils/viewState.js +85 -0
  89. package/dist/esm/utils/viewState.js.map +1 -0
  90. package/dist/hooks/columns.js +8 -21
  91. package/dist/hooks/columns.js.map +1 -1
  92. package/dist/hooks/data.js +1 -1
  93. package/dist/hooks/data.js.map +1 -1
  94. package/dist/hooks/metadata.js +3 -7
  95. package/dist/hooks/metadata.js.map +1 -1
  96. package/dist/hooks/table.js +12 -34
  97. package/dist/hooks/table.js.map +1 -1
  98. package/dist/index.js +0 -7
  99. package/dist/types/components/ColGroup.d.ts.map +1 -1
  100. package/dist/types/components/ScorecardHeader.d.ts.map +1 -1
  101. package/dist/types/components/ScorecardLegendsView/components/ArrowLegendView.d.ts +1 -1
  102. package/dist/types/components/ScorecardLegendsView/components/ArrowLegendView.d.ts.map +1 -1
  103. package/dist/types/components/ScorecardPrint/components/ScorecardPreviewArea.d.ts.map +1 -1
  104. package/dist/types/components/ScorecardTable/ScorecardTable.d.ts.map +1 -1
  105. package/dist/types/components/ScorecardTable/components/AverageCell.d.ts.map +1 -1
  106. package/dist/types/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -1
  107. package/dist/types/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
  108. package/dist/types/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -1
  109. package/dist/types/components/ScorecardTable/components/TableFoot.d.ts.map +1 -1
  110. package/dist/types/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +1 -1
  111. package/dist/types/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -1
  112. package/dist/types/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +1 -1
  113. package/dist/types/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -1
  114. package/dist/types/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -1
  115. package/dist/types/components/StateProvider.d.ts +34 -2
  116. package/dist/types/components/StateProvider.d.ts.map +1 -1
  117. package/dist/types/hooks/columns.d.ts.map +1 -1
  118. package/dist/types/hooks/metadata.d.ts.map +1 -1
  119. package/dist/types/hooks/table.d.ts.map +1 -1
  120. package/dist/types/index.d.ts +0 -1
  121. package/dist/types/index.d.ts.map +1 -1
  122. package/dist/types/utils/dimensionState.d.ts +62 -0
  123. package/dist/types/utils/dimensionState.d.ts.map +1 -0
  124. package/dist/types/utils/viewState.d.ts +34 -0
  125. package/dist/types/utils/viewState.d.ts.map +1 -0
  126. package/dist/utils/dimensionState.js +139 -0
  127. package/dist/utils/dimensionState.js.map +1 -0
  128. package/dist/utils/viewState.js +90 -0
  129. package/dist/utils/viewState.js.map +1 -0
  130. package/package.json +7 -8
  131. package/dist/esm/hooks/period.js +0 -13
  132. package/dist/esm/hooks/period.js.map +0 -1
  133. package/dist/esm/state/index.js +0 -53
  134. package/dist/esm/state/index.js.map +0 -1
  135. package/dist/esm/utils/engine.js +0 -18
  136. package/dist/esm/utils/engine.js.map +0 -1
  137. package/dist/hooks/period.js +0 -15
  138. package/dist/hooks/period.js.map +0 -1
  139. package/dist/state/index.js +0 -63
  140. package/dist/state/index.js.map +0 -1
  141. package/dist/types/hooks/period.d.ts +0 -2
  142. package/dist/types/hooks/period.d.ts.map +0 -1
  143. package/dist/types/state/index.d.ts +0 -109
  144. package/dist/types/state/index.d.ts.map +0 -1
  145. package/dist/types/utils/engine.d.ts +0 -14
  146. package/dist/types/utils/engine.d.ts.map +0 -1
  147. package/dist/utils/engine.js +0 -20
  148. package/dist/utils/engine.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/table.ts"],"names":["meanBy","emptyRows","isEmpty","getAverageValue","useScorecardMeta","useScorecardData","useScorecardStateSelectorValue","useScorecardConfig","useState","useMemo","rows","getRowsFromMeta","useEffect","useCallback","useTableColumns","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","getPaginationRowModel","getSortedRowModel"],"mappings":"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","file":"table.js","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\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 { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardData,\n\tuseScorecardMeta,\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 { useScorecardStateSelectorValue } from \"../state\";\n\nexport function 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\nexport function 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\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst emptyRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelectorValue<\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\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, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\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\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disablePagination\",\n\t]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../src/hooks/table.ts"],"names":["meanBy","emptyRows","isEmpty","getAverageValue","useScorecardMeta","useScorecardData","useScorecardViewStateValue","useScorecardConfig","useState","useMemo","rows","getRowsFromMeta","useEffect","useCallback","useTableColumns","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","getPaginationRowModel","getSortedRowModel"],"mappings":"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","file":"table.js","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\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 { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardData,\n\tuseScorecardMeta,\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 { useScorecardViewStateValue } from \"../utils/viewState\";\n\nexport function 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\nexport function 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\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\") ?? false;\n\tconst emptyRows = useScorecardViewStateValue<boolean>(\"emptyRows\");\n\tconst averageDisplayType =\n\t\tuseScorecardViewStateValue<ScorecardViewOptions[\"averageDisplayType\"]>(\n\t\t\t\"averageDisplayType\",\n\t\t);\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\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, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\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\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn =\n\t\tuseScorecardViewStateValue<boolean>(\"averageColumn\") ?? false;\n\tconst showItemNumber =\n\t\tuseScorecardViewStateValue<boolean>(\"itemNumber\") ?? false;\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tconst disableExpanding =\n\t\tuseScorecardViewStateValue<boolean>(\"disableExpanding\") ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardViewStateValue<boolean>(\"disableExpanding\") ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination =\n\t\tuseScorecardViewStateValue<boolean>(\"disablePagination\");\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
package/dist/index.js CHANGED
@@ -5,7 +5,6 @@ var config = require('./schemas/config');
5
5
  var components = require('./components');
6
6
  var hooks = require('./hooks');
7
7
  var utils = require('./utils');
8
- var state = require('./state');
9
8
 
10
9
 
11
10
 
@@ -39,11 +38,5 @@ Object.keys(utils).forEach(function (k) {
39
38
  get: function () { return utils[k]; }
40
39
  });
41
40
  });
42
- Object.keys(state).forEach(function (k) {
43
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
44
- enumerable: true,
45
- get: function () { return state[k]; }
46
- });
47
- });
48
41
  //# sourceMappingURL=index.js.map
49
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColGroup.d.ts","sourceRoot":"","sources":["../../../src/components/ColGroup.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,mDAqBvB"}
1
+ {"version":3,"file":"ColGroup.d.ts","sourceRoot":"","sources":["../../../src/components/ColGroup.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,mDAcvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AASA,wBAAgB,eAAe,mDA8D9B"}
1
+ {"version":3,"file":"ScorecardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AASA,wBAAgB,eAAe,mDA6D9B"}
@@ -1,2 +1,2 @@
1
- export declare function ArrowLegendsView(props: any): import("react/jsx-runtime").JSX.Element | null;
1
+ export declare function ArrowLegendsView(): import("react/jsx-runtime").JSX.Element | null;
2
2
  //# sourceMappingURL=ArrowLegendView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArrowLegendView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/ArrowLegendView.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,kDAqB1C"}
1
+ {"version":3,"file":"ArrowLegendView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/ArrowLegendView.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,mDAqB/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardPreviewArea.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYpD,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,oBAAoB;gBAGpB,SAAS,CAAC,cAAc,CAAC;EAgDpC,CAAC"}
1
+ {"version":3,"file":"ScorecardPreviewArea.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUpD,OAAO,cAAc,CAAC;AAOtB,eAAO,MAAM,oBAAoB;gBAGpB,SAAS,CAAC,cAAc,CAAC;EA+CpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAU3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DA6DzB,CAAC"}
1
+ {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAU3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DA2DzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AverageCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAiBjC,wBAAgB,iBAAiB,CAAC,EACjC,UAAU,EACV,IAAI,GACJ,EAAE;IACF,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACb,2CAmCA;AAED,wBAAgB,iBAAiB,CAAC,EACjC,WAAW,EACX,IAAI,GACJ,EAAE;IACF,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;CACb,2CAkDA;AAgED,wBAAgB,WAAW,CAC1B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,2CAYvE"}
1
+ {"version":3,"file":"AverageCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAiBjC,wBAAgB,iBAAiB,CAAC,EACjC,UAAU,EACV,IAAI,GACJ,EAAE;IACF,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACb,2CAmCA;AAED,wBAAgB,iBAAiB,CAAC,EACjC,WAAW,EACX,IAAI,GACJ,EAAE;IACF,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;CACb,2CAkDA;AAgED,wBAAgB,WAAW,CAC1B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,2CAUvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataFooterCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAEX,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAmJjC,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,2CA0B7D"}
1
+ {"version":3,"file":"DataFooterCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAEX,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAmJjC,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,2CAwB7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;YACrB,MAAM;WACP,OAAO;EAkEb,CAAC"}
1
+ {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;YACrB,MAAM;WACP,OAAO;EAmEb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandedScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAYxD,wBAAgB,sBAAsB,CAAC,EACtC,OAAO,EACP,OAAO,GACP,EAAE;IACF,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;CACjB,kDA8EA"}
1
+ {"version":3,"file":"ExpandedScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAaxD,wBAAgB,sBAAsB,CAAC,EACtC,OAAO,EACP,OAAO,GACP,EAAE;IACF,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;CACjB,kDA8EA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableFoot.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,mDA+BxB"}
1
+ {"version":3,"file":"TableFoot.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,mDA4BxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AverageHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAMxE,wBAAgB,iBAAiB,CAAC,EACjC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CA2BxC"}
1
+ {"version":3,"file":"AverageHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOxE,wBAAgB,iBAAiB,CAAC,EACjC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAsBxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,EACnC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAGxC;AAED,wBAAgB,uBAAuB,CAAC,EACvC,MAAM,EACN,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAmExC;AAED,eAAO,MAAM,cAAc,gCAA0B,CAAC"}
1
+ {"version":3,"file":"DataHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,EACnC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAGxC;AAED,wBAAgB,uBAAuB,CAAC,EACvC,MAAM,EACN,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAgExC;AAED,eAAO,MAAM,cAAc,gCAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterArea.d.ts","sourceRoot":"","sources":["../../../../../../../src/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
+ {"version":3,"file":"FilterArea.d.ts","sourceRoot":"","sources":["../../../../../../../src/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,2CAwBrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/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,CACjB,kBAAkB,EAClB;IACC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CACD,2CA2ED;AAED,eAAO,MAAM,SAAS,2BAAqB,CAAC"}
1
+ {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/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,CACjB,kBAAkB,EAClB;IACC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CACD,2CAkED;AAED,eAAO,MAAM,SAAS,2BAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/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
+ {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/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;AAUxE,iBAAS,uBAAuB,CAAC,EAChC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAwDxC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
@@ -4,7 +4,39 @@ export interface ScorecardStateProviderProps {
4
4
  initialState?: ScorecardState;
5
5
  config: ScorecardConfig;
6
6
  children: ReactNode;
7
- withRecoilRoot?: boolean;
8
7
  }
9
- export declare function ScorecardStateProvider({ children, initialState, config, withRecoilRoot, }: ScorecardStateProviderProps): string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
8
+ export declare function useScorecardViewStateEngine(): {
9
+ options: import("../schemas/config").ScorecardViewOptions;
10
+ listeners: import("../utils/viewState").ViewOptionListener[];
11
+ optionsListeners: Array<(options: import("../schemas/config").ScorecardViewOptions) => void>;
12
+ updateOption(key: keyof import("../schemas/config").ScorecardViewOptions, value: import("../schemas/config").ScorecardViewOptions[keyof import("../schemas/config").ScorecardViewOptions]): void;
13
+ addOptionListener(listener: (options: import("../schemas/config").ScorecardViewOptions) => void): () => void;
14
+ addListener(listener: import("../utils/viewState").ViewOptionListener): () => void;
15
+ removeListener(listener: import("../utils/viewState").ViewOptionListener): void;
16
+ };
17
+ export declare function useScorecardDimensionStateEngine(): {
18
+ orgUnitSelection: {
19
+ orgUnits: {
20
+ id: string;
21
+ }[];
22
+ userOrgUnit?: boolean | undefined;
23
+ userSubUnit?: boolean | undefined;
24
+ userSubX2Unit?: boolean | undefined;
25
+ groups?: string[] | undefined;
26
+ levels?: string[] | undefined;
27
+ };
28
+ periodSelection: {
29
+ periods: {
30
+ id: string;
31
+ }[];
32
+ type?: string | undefined;
33
+ };
34
+ listeners: import("../utils/dimensionState").DimensionListener[];
35
+ addListener(listener: import("../utils/dimensionState").DimensionListener): () => void;
36
+ removeListener(listener: import("../utils/dimensionState").DimensionListener): void;
37
+ update({ orgUnitSelection, periodSelection }: import("../utils/dimensionState").DimensionState): void;
38
+ updatePeriodSelection(periodSelection: import("../schemas/config").PeriodSelection): void;
39
+ updateOrgUnitSelection(orgUnitSelection: import("../schemas/config").OrgUnitSelection): void;
40
+ };
41
+ export declare function ScorecardStateProvider({ children, initialState, config, }: ScorecardStateProviderProps): import("react/jsx-runtime").JSX.Element;
10
42
  //# sourceMappingURL=StateProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateProvider.d.ts","sourceRoot":"","sources":["../../../src/components/StateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAKpD,MAAM,WAAW,2BAA2B;IAC3C,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,cAAc,GACd,EAAE,2BAA2B,gHAgC7B"}
1
+ {"version":3,"file":"StateProvider.d.ts","sourceRoot":"","sources":["../../../src/components/StateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAiB,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAU1E,MAAM,WAAW,2BAA2B;IAC3C,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACpB;AAOD,wBAAgB,2BAA2B;;;;;;;;EAQ1C;AAED,wBAAgB,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;EAQ/C;AAED,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,YAAY,EACZ,MAAM,GACN,EAAE,2BAA2B,2CAuB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAmB3B,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgI7B;AAED,wBAAgB,eAAe,IAAI,SAAS,CAC3C,kBAAkB,EAClB,wBAAwB,CACxB,EAAE,CA6DF"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,uBAAuB,CAAC;AAO3E,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAsB3B,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4H7B;AAED,wBAAgB,eAAe,IAAI,SAAS,CAC3C,kBAAkB,EAClB,wBAAwB,CACxB,EAAE,CAoDF"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAC;AAgCF,wBAAgB,mBAAmB;;;;aAxC7B,MAAM;cACL,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;;;cALlB,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;YA2BlB,MAAM;eACH,MAAM;qBACA,MAAM;;;EA0GrB;AAED,wBAAgB,WAAW,wPAM1B"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"AA6CA,MAAM,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAC;AAgCF,wBAAgB,mBAAmB;;;;aAxC7B,MAAM;cACL,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;;;cALlB,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;YA2BlB,MAAM;eACH,MAAM;qBACA,MAAM;;;EAoGrB;AAED,wBAAgB,WAAW,wPAM1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAOlB,KAAK,GAAG,EAER,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,cAAc,EACd,GAAG,GACH,EAAE;IACF,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACxB,GAAG,aAAa,EAAE,CASlB;AAED,wBAAgB,UAAU,CAAC,EAC1B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,aAAa,CAAC;CACpB,YA8CA;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAmEnD;AAED,wBAAgB,mBAAmB;;;EAsClC;AAED,wBAAgB,eAAe;;;2BAQY,GAAG,CAAC,kBAAkB,CAAC;EAcjE;AAED,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CA2DhE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAOlB,KAAK,GAAG,EAER,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,cAAc,EACd,GAAG,GACH,EAAE;IACF,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACxB,GAAG,aAAa,EAAE,CASlB;AAED,wBAAgB,UAAU,CAAC,EAC1B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,aAAa,CAAC;CACpB,YA8CA;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CA+DnD;AAED,wBAAgB,mBAAmB;;;EA6BlC;AAED,wBAAgB,eAAe;;;2BAKY,GAAG,CAAC,kBAAkB,CAAC;EAcjE;AAED,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAyDhE"}
@@ -3,5 +3,4 @@ export * from "./schemas/config";
3
3
  export * from "./components";
4
4
  export * from "./hooks";
5
5
  export * from "./utils";
6
- export * from "./state";
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { OrgUnitSelection, PeriodSelection } from "../schemas/config";
2
+ export type DimensionState = {
3
+ orgUnitSelection: OrgUnitSelection;
4
+ periodSelection: PeriodSelection;
5
+ };
6
+ export type OrgUnitListener = {
7
+ type: "orgUnit";
8
+ listener: (orgUnitSelection: OrgUnitSelection) => void;
9
+ };
10
+ export type PeriodListener = {
11
+ type: "period";
12
+ listener: (periodSelection: PeriodSelection) => void;
13
+ };
14
+ export type AllDimensionListener = {
15
+ type: "all";
16
+ listener: (dimensionState: DimensionState) => void;
17
+ };
18
+ export type DimensionListener = OrgUnitListener | PeriodListener | AllDimensionListener;
19
+ export type DimensionStateEngine = ReturnType<typeof createDimensionStateEngine>;
20
+ export declare function createDimensionStateEngine({ orgUnitSelection, periodSelection, }: DimensionState): {
21
+ orgUnitSelection: {
22
+ orgUnits: {
23
+ id: string;
24
+ }[];
25
+ userOrgUnit?: boolean | undefined;
26
+ userSubUnit?: boolean | undefined;
27
+ userSubX2Unit?: boolean | undefined;
28
+ groups?: string[] | undefined;
29
+ levels?: string[] | undefined;
30
+ };
31
+ periodSelection: {
32
+ periods: {
33
+ id: string;
34
+ }[];
35
+ type?: string | undefined;
36
+ };
37
+ listeners: DimensionListener[];
38
+ addListener(listener: DimensionListener): () => void;
39
+ removeListener(listener: DimensionListener): void;
40
+ update({ orgUnitSelection, periodSelection }: DimensionState): void;
41
+ updatePeriodSelection(periodSelection: PeriodSelection): void;
42
+ updateOrgUnitSelection(orgUnitSelection: OrgUnitSelection): void;
43
+ };
44
+ export declare function useUpdateDimensionState(type: "orgUnit" | "period" | "all"): (value: OrgUnitSelection | PeriodSelection | DimensionState) => void;
45
+ export declare function usePeriodSelectionValue(): {
46
+ periods: {
47
+ id: string;
48
+ }[];
49
+ type?: string | undefined;
50
+ };
51
+ export declare function useHasOnePeriod(): boolean;
52
+ export declare function useOrgUnitSelectionValue(): {
53
+ orgUnits: {
54
+ id: string;
55
+ }[];
56
+ userOrgUnit?: boolean | undefined;
57
+ userSubUnit?: boolean | undefined;
58
+ userSubX2Unit?: boolean | undefined;
59
+ groups?: string[] | undefined;
60
+ levels?: string[] | undefined;
61
+ };
62
+ //# sourceMappingURL=dimensionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimensionState.d.ts","sourceRoot":"","sources":["../../../src/utils/dimensionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI3E,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;CACrD,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD,CAAC;AACF,MAAM,MAAM,iBAAiB,GAC1B,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EAC1C,gBAAgB,EAChB,eAAe,GACf,EAAE,cAAc;;;;;;;;;;;;;;;;;eAIE,iBAAiB,EAAE;0BACd,iBAAiB;6BAQd,iBAAiB;kDAKI,cAAc;2CAkBrB,eAAe;6CAcb,gBAAgB;EAe1D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAEjE,OAAO,gBAAgB,GAAG,eAAe,GAAG,cAAc,UAclE;AAED,wBAAgB,uBAAuB;;;;;EAoBtC;AAED,wBAAgB,eAAe,YAG9B;AAED,wBAAgB,wBAAwB;;;;;;;;;EAoBvC"}
@@ -0,0 +1,34 @@
1
+ import type { ScorecardViewOptions } from "../schemas/config";
2
+ export type ViewOptionListener = {
3
+ key: keyof ScorecardViewOptions;
4
+ listener: (value?: ScorecardViewOptions[keyof ScorecardViewOptions]) => void;
5
+ };
6
+ export type ScorecardViewStateEngine = ReturnType<typeof createScorecardViewStateEngine>;
7
+ export declare function createScorecardViewStateEngine(defaultOptions: ScorecardViewOptions): {
8
+ options: ScorecardViewOptions;
9
+ listeners: ViewOptionListener[];
10
+ optionsListeners: Array<(options: ScorecardViewOptions) => void>;
11
+ updateOption(key: keyof ScorecardViewOptions, value: ScorecardViewOptions[keyof ScorecardViewOptions]): void;
12
+ addOptionListener(listener: (options: ScorecardViewOptions) => void): () => void;
13
+ addListener(listener: ViewOptionListener): () => void;
14
+ removeListener(listener: ViewOptionListener): void;
15
+ };
16
+ export declare function useScorecardViewStateValue<ValueType extends ScorecardViewOptions[keyof ScorecardViewOptions]>(key: keyof ScorecardViewOptions): ValueType;
17
+ export declare function useScorecardViewOptions(): {
18
+ averageColumn?: boolean | undefined;
19
+ averageDisplayType?: "ALL" | "ABOVE_AVERAGE" | "BELOW_AVERAGE" | undefined;
20
+ averageRow?: boolean | undefined;
21
+ emptyRows?: boolean | undefined;
22
+ highlightedIndicators?: boolean | undefined;
23
+ itemNumber?: boolean | undefined;
24
+ legend?: boolean | undefined;
25
+ showHierarchy?: boolean | undefined;
26
+ title?: boolean | undefined;
27
+ arrows?: boolean | undefined;
28
+ showDataInRows?: boolean | undefined;
29
+ disableExpanding?: boolean | undefined;
30
+ disablePagination?: boolean | undefined;
31
+ printMode?: boolean | undefined;
32
+ };
33
+ export declare function useUpdateScorecardViewState(key: keyof ScorecardViewOptions): (value: ScorecardViewOptions[keyof ScorecardViewOptions]) => void;
34
+ //# sourceMappingURL=viewState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewState.d.ts","sourceRoot":"","sources":["../../../src/utils/viewState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,MAAM,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,MAAM,oBAAoB,CAAC;IAChC,QAAQ,EAAE,CACT,KAAK,CAAC,EAAE,oBAAoB,CAAC,MAAM,oBAAoB,CAAC,KACpD,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAChD,OAAO,8BAA8B,CACrC,CAAC;AAEF,wBAAgB,8BAA8B,CAC7C,cAAc,EAAE,oBAAoB;aAGR,oBAAoB;eAC9B,kBAAkB,EAAE;sBACb,KAAK,CAAC,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;sBAEhE,MAAM,oBAAoB,SACxB,oBAAoB,CAAC,MAAM,oBAAoB,CAAC;gCAa5B,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;0BAU7C,kBAAkB;6BAQf,kBAAkB;EAM5C;AAED,wBAAgB,0BAA0B,CACzC,SAAS,SAAS,oBAAoB,CAAC,MAAM,oBAAoB,CAAC,EACjE,GAAG,EAAE,MAAM,oBAAoB,aAiBhC;AAED,wBAAgB,uBAAuB;;;;;;;;;;;;;;;EAetC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,oBAAoB,IAElE,OAAO,oBAAoB,CAAC,MAAM,oBAAoB,CAAC,UAG/D"}
@@ -0,0 +1,139 @@
1
+ 'use strict';
2
+
3
+ var components = require('../components');
4
+ var react = require('react');
5
+
6
+ function createDimensionStateEngine({
7
+ orgUnitSelection,
8
+ periodSelection
9
+ }) {
10
+ return {
11
+ orgUnitSelection,
12
+ periodSelection,
13
+ listeners: [],
14
+ addListener(listener) {
15
+ this.listeners.push(listener);
16
+ return () => {
17
+ this.listeners = this.listeners.filter(
18
+ (l) => l !== listener
19
+ );
20
+ };
21
+ },
22
+ removeListener(listener) {
23
+ this.listeners = this.listeners.filter(
24
+ (l) => l !== listener
25
+ );
26
+ },
27
+ update({ orgUnitSelection: orgUnitSelection2, periodSelection: periodSelection2 }) {
28
+ this.orgUnitSelection = orgUnitSelection2;
29
+ this.periodSelection = periodSelection2;
30
+ for (const listener of this.listeners) {
31
+ if (listener.type === "orgUnit") {
32
+ listener.listener(orgUnitSelection2);
33
+ }
34
+ if (listener.type === "period") {
35
+ listener.listener(periodSelection2);
36
+ }
37
+ if (listener.type === "all") {
38
+ listener.listener({
39
+ orgUnitSelection: orgUnitSelection2,
40
+ periodSelection: periodSelection2
41
+ });
42
+ }
43
+ }
44
+ },
45
+ updatePeriodSelection(periodSelection2) {
46
+ this.periodSelection = periodSelection2;
47
+ for (const listener of this.listeners) {
48
+ if (listener.type === "period") {
49
+ listener.listener(periodSelection2);
50
+ }
51
+ if (listener.type === "all") {
52
+ listener.listener({
53
+ orgUnitSelection: this.orgUnitSelection,
54
+ periodSelection: periodSelection2
55
+ });
56
+ }
57
+ }
58
+ },
59
+ updateOrgUnitSelection(orgUnitSelection2) {
60
+ this.orgUnitSelection = orgUnitSelection2;
61
+ for (const listener of this.listeners) {
62
+ if (listener.type === "orgUnit") {
63
+ listener.listener(orgUnitSelection2);
64
+ }
65
+ if (listener.type === "all") {
66
+ listener.listener({
67
+ orgUnitSelection: orgUnitSelection2,
68
+ periodSelection: this.periodSelection
69
+ });
70
+ }
71
+ }
72
+ }
73
+ };
74
+ }
75
+ function useUpdateDimensionState(type) {
76
+ const dimensionEngine = components.useScorecardDimensionStateEngine();
77
+ return (value) => {
78
+ switch (type) {
79
+ case "orgUnit":
80
+ dimensionEngine.updateOrgUnitSelection(
81
+ value
82
+ );
83
+ break;
84
+ case "period":
85
+ dimensionEngine.updatePeriodSelection(value);
86
+ break;
87
+ case "all":
88
+ dimensionEngine.update(value);
89
+ }
90
+ };
91
+ }
92
+ function usePeriodSelectionValue() {
93
+ const dimensionEngine = components.useScorecardDimensionStateEngine();
94
+ const [periodSelection, setPeriodSelection] = react.useState(
95
+ dimensionEngine.periodSelection
96
+ );
97
+ react.useEffect(() => {
98
+ const unsubscribe = dimensionEngine.addListener({
99
+ type: "period",
100
+ listener: (periodSelection2) => {
101
+ setPeriodSelection(periodSelection2);
102
+ }
103
+ });
104
+ return () => {
105
+ unsubscribe();
106
+ };
107
+ }, []);
108
+ return periodSelection;
109
+ }
110
+ function useHasOnePeriod() {
111
+ const periodSelection = usePeriodSelectionValue();
112
+ return periodSelection.periods.length === 1;
113
+ }
114
+ function useOrgUnitSelectionValue() {
115
+ const dimensionEngine = components.useScorecardDimensionStateEngine();
116
+ const [orgUnitSelection, setOrgUnitSelection] = react.useState(
117
+ dimensionEngine.orgUnitSelection
118
+ );
119
+ react.useEffect(() => {
120
+ const unsubscribe = dimensionEngine.addListener({
121
+ type: "orgUnit",
122
+ listener: (periodSelection) => {
123
+ setOrgUnitSelection(periodSelection);
124
+ }
125
+ });
126
+ return () => {
127
+ unsubscribe();
128
+ };
129
+ }, []);
130
+ return orgUnitSelection;
131
+ }
132
+
133
+ exports.createDimensionStateEngine = createDimensionStateEngine;
134
+ exports.useHasOnePeriod = useHasOnePeriod;
135
+ exports.useOrgUnitSelectionValue = useOrgUnitSelectionValue;
136
+ exports.usePeriodSelectionValue = usePeriodSelectionValue;
137
+ exports.useUpdateDimensionState = useUpdateDimensionState;
138
+ //# sourceMappingURL=dimensionState.js.map
139
+ //# sourceMappingURL=dimensionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/dimensionState.ts"],"names":["orgUnitSelection","periodSelection","useScorecardDimensionStateEngine","useState","useEffect"],"mappings":"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","file":"dimensionState.js","sourcesContent":["import type { OrgUnitSelection, PeriodSelection } from \"../schemas/config\";\nimport { useScorecardDimensionStateEngine } from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type DimensionState = {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n};\nexport type OrgUnitListener = {\n\ttype: \"orgUnit\";\n\tlistener: (orgUnitSelection: OrgUnitSelection) => void;\n};\nexport type PeriodListener = {\n\ttype: \"period\";\n\tlistener: (periodSelection: PeriodSelection) => void;\n};\nexport type AllDimensionListener = {\n\ttype: \"all\";\n\tlistener: (dimensionState: DimensionState) => void;\n};\nexport type DimensionListener =\n\t| OrgUnitListener\n\t| PeriodListener\n\t| AllDimensionListener;\n\nexport type DimensionStateEngine = ReturnType<\n\ttypeof createDimensionStateEngine\n>;\n\nexport function createDimensionStateEngine({\n\torgUnitSelection,\n\tperiodSelection,\n}: DimensionState) {\n\treturn {\n\t\torgUnitSelection,\n\t\tperiodSelection,\n\t\tlisteners: [] as DimensionListener[],\n\t\taddListener(listener: DimensionListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DimensionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t);\n\t\t},\n\t\tupdate({ orgUnitSelection, periodSelection }: DimensionState) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdatePeriodSelection(periodSelection: PeriodSelection) {\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: this.orgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateOrgUnitSelection(orgUnitSelection: OrgUnitSelection) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: orgUnitSelection,\n\t\t\t\t\t\tperiodSelection: this.periodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function useUpdateDimensionState(type: \"orgUnit\" | \"period\" | \"all\") {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\treturn (value: OrgUnitSelection | PeriodSelection | DimensionState) => {\n\t\tswitch (type) {\n\t\t\tcase \"orgUnit\":\n\t\t\t\tdimensionEngine.updateOrgUnitSelection(\n\t\t\t\t\tvalue as OrgUnitSelection,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"period\":\n\t\t\t\tdimensionEngine.updatePeriodSelection(value as PeriodSelection);\n\t\t\t\tbreak;\n\t\t\tcase \"all\":\n\t\t\t\tdimensionEngine.update(value as DimensionState);\n\t\t}\n\t};\n}\n\nexport function usePeriodSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [periodSelection, setPeriodSelection] = useState<PeriodSelection>(\n\t\tdimensionEngine.periodSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"period\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetPeriodSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn periodSelection;\n}\n\nexport function useHasOnePeriod() {\n\tconst periodSelection = usePeriodSelectionValue();\n\treturn periodSelection.periods.length === 1;\n}\n\nexport function useOrgUnitSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [orgUnitSelection, setOrgUnitSelection] = useState<OrgUnitSelection>(\n\t\tdimensionEngine.orgUnitSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"orgUnit\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetOrgUnitSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn orgUnitSelection;\n}\n"]}
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ var lodash = require('lodash');
4
+ var components = require('../components');
5
+ var react = require('react');
6
+
7
+ function createScorecardViewStateEngine(defaultOptions) {
8
+ return {
9
+ options: defaultOptions,
10
+ listeners: [],
11
+ optionsListeners: [],
12
+ updateOption(key, value) {
13
+ lodash.set(this.options, key, value);
14
+ const listeners = this.listeners.filter(
15
+ (listener) => listener.key === key
16
+ );
17
+ for (const listener of listeners) {
18
+ listener.listener(value);
19
+ }
20
+ for (const listener of this.optionsListeners) {
21
+ listener(this.options);
22
+ }
23
+ },
24
+ addOptionListener(listener) {
25
+ this.optionsListeners.push(listener);
26
+ return () => {
27
+ this.optionsListeners = this.optionsListeners.filter(
28
+ (l) => l !== listener
29
+ );
30
+ };
31
+ },
32
+ addListener(listener) {
33
+ this.listeners.push(listener);
34
+ return () => {
35
+ this.listeners = this.listeners.filter(
36
+ (l) => l !== listener
37
+ );
38
+ };
39
+ },
40
+ removeListener(listener) {
41
+ this.listeners = this.listeners.filter(
42
+ (l) => listener !== l
43
+ );
44
+ }
45
+ };
46
+ }
47
+ function useScorecardViewStateValue(key) {
48
+ const viewEngine = components.useScorecardViewStateEngine();
49
+ const [value, setValue] = react.useState(
50
+ lodash.get(viewEngine.options, key)
51
+ );
52
+ react.useEffect(() => {
53
+ const unsubscribe = viewEngine.addListener({
54
+ key,
55
+ listener(value2) {
56
+ setValue(value2);
57
+ }
58
+ });
59
+ return () => {
60
+ unsubscribe();
61
+ };
62
+ }, []);
63
+ return value;
64
+ }
65
+ function useScorecardViewOptions() {
66
+ const viewEngine = components.useScorecardViewStateEngine();
67
+ const [options, setOptions] = react.useState(
68
+ viewEngine.options
69
+ );
70
+ react.useEffect(() => {
71
+ const unsubscribe = viewEngine.addOptionListener(setOptions);
72
+ return () => {
73
+ unsubscribe();
74
+ };
75
+ }, []);
76
+ return options;
77
+ }
78
+ function useUpdateScorecardViewState(key) {
79
+ const viewEngine = components.useScorecardViewStateEngine();
80
+ return (value) => {
81
+ viewEngine.updateOption(key, value);
82
+ };
83
+ }
84
+
85
+ exports.createScorecardViewStateEngine = createScorecardViewStateEngine;
86
+ exports.useScorecardViewOptions = useScorecardViewOptions;
87
+ exports.useScorecardViewStateValue = useScorecardViewStateValue;
88
+ exports.useUpdateScorecardViewState = useUpdateScorecardViewState;
89
+ //# sourceMappingURL=viewState.js.map
90
+ //# sourceMappingURL=viewState.js.map